sql 查询记录数结果集某个区间内记录

来源:asp之家 时间:2023-07-09 08:25:01 

以查询前20到30条为例,主键名为id

方法一: 先正查,再反查
select top 10 * from (select top 30 * from tablename order by id asc) A order by id desc

方法二: 使用left join
select top 10 A.* from tablename A
left outer join (select top 20 * from tablename order by id asc) B
on A.id = B.id
where B.id is null
order by A.id asc

方法三: 使用not exists
select top 10 * from tablename A
where id not exists
(select top 20 * from tablename B on A.id = B.id)

方法四: 使用not in
select top 10 * from tablename
where id not in
(select top 20 id from tablename order by id asc)
order by id asc

方法五: 使用rank()
select id from
(select rank() over(order by id asc) rk, id from tablename) T
where rk between 20 and 30

中第五种方法看上去好像没有问题,查了下文档,当over()用于rank/row_number时,整型列不能描述一个列,所以会产生非预期的效果. 待考虑下,有什么办法可以修改为想要的结果.

标签:查询记录数,区间
0
投稿

猜你喜欢

  • keras 自定义loss层+接受输入实例

    2023-09-23 16:37:55
  • 总结一些你可能不知道的ip地址

    2022-11-30 15:15:58
  • SQLServer设置客户端使用IP地址登录的图文详解

    2024-01-21 10:45:07
  • django连接oracle时setting 配置方法

    2021-08-23 15:20:13
  • Python学习之路之pycharm的第一个项目搭建过程

    2022-01-14 23:16:52
  • PyTorch中反卷积的用法详解

    2022-09-21 18:12:34
  • SQL Server中调用C#类中的方法实例(使用.NET程序集)

    2024-01-23 17:24:56
  • vue 循环动态设置ref并获取$refs方式

    2023-07-02 17:00:18
  • 修改mysql最大连接数的方法

    2010-03-09 13:57:00
  • 已安装tensorflow-gpu,但keras无法使用GPU加速的解决

    2021-08-15 12:17:42
  • Python 在 VSCode 中使用 IPython Kernel 的方法详解

    2023-07-25 10:10:23
  • 将python运行结果保存至本地文件中的示例讲解

    2024-01-03 04:01:52
  • python3 selenium自动化测试 强大的CSS定位方法

    2021-09-13 01:41:13
  • SQL SERVER 的SQL语句优化方式小结

    2024-01-25 02:11:12
  • 17个asp常用的正则表达式

    2008-01-15 18:58:00
  • python 提取html文本的方法

    2021-05-27 03:43:46
  • golang中的net/rpc包使用概述(小结)

    2024-05-29 22:05:54
  • pygame 键盘事件的实践

    2023-09-29 18:56:10
  • ASP实现多域名同一空间的处理实例

    2008-10-29 09:46:00
  • javascript制作loading动画效果 loading效果

    2024-02-26 18:50:24
  • asp之家 网络编程 m.aspxhome.com