使用sqlserver 查询不连续的数据

一般的,在我们分页查询的时候,我们会遇到一些不连续的数据,
那么该如何查询呢,我们可以利用行数来解决这个问题,因为行数是连续的

套用公式
select * from (
select ROW_NUMBER() over(order by id) as rn ,* from table
) T where rn between (pagecount*(pageno-1)+1) and pagecount*pageno

注:pagecount 代表的是每页显示的条数,
pageno: 代表页数
table: 代表表名。
Id : 表示使用 id排序
rn : 表示行号
事例:

select * from (
select ROW_NUMBER() over(order by detailsId) as rn ,* from details
) T where rn between (10*(2-1)+1) and 10*2

查询结果如下:
使用sqlserver 查询不连续的数据