各位用户为了找寻关于sql 查询记录数结果集某个区间内记录的资料费劲了很多周折。这里教程网为您整理了关于sql 查询记录数结果集某个区间内记录的相关资料,仅供查阅,以下为您介绍关于sql 查询记录数结果集某个区间内记录的详细内容

以查询前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时,整型列不能描述一个列,所以会产生非预期的效果. 待考虑下,有什么办法可以修改为想要的结果.