当前位置: 移动技术网 > IT编程>开发语言>.net > 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

2019年04月03日  | 移动技术网IT编程  | 我要评论

嘉禾县人民政府,杀马特入伍,kumool

在sqlserver数据库中,如果查询表中含有自增长id列,一般会采用select top的方式来数据的分页操作。而实际上很多数据表设计的时候,不一定含有自增长id列,那么数据库没有id自增列的时候要对数据分页怎么办呢,此时则需要使用row_number()函数来对数据分页,row_number()一般与over(order by)一起连用。 

使用row_number来数据分页的格式如下:

with temptb as
(
   select row_number() over(order by 排序的列 asc) as rownumber,* from 数据表_table
)

select * from temptb  where rownumber>开始行号  and rownumber<结束行号;

举个例子,我们要查询student表中的学生数据,按学生出生日期从前到后排序,取出出生日期排在第31位到第60位的数据,语句如下:

with temptb as
(
   select row_number() over(order by birthday asc) as rownumber,* from student
)
select * from temptb where rownumber>30 and rownumber<=60

 

备注:原文转载自。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网