当前位置: 代码迷 >> Sql Server >> 没有id属性,SQL Server如何分页
  详细解决方案

没有id属性,SQL Server如何分页

热度:92   发布时间:2016-04-24 18:39:46.0
没有id属性,SQL Server怎么分页
表结果如下,A,B,C,D都是普通属性,D为数值型,要求按D从到小排序后,分页显示。我知道前N项可以用top...但如果要查询N到N+10项的数据改怎么写SQL语句呢

------解决方案--------------------
ROW_NUMBER()
------解决方案--------------------
没有id制造id~~1楼正解!
用row_number over(order by D列)
------解决方案--------------------
引用:
Quote: 引用:

ROW_NUMBER()

....能详细点吗?


给你一个列,类似这样的:

declare @page_size int;
declare @page_num int;

--比如:每页10条记录
set @page_size = 10;

--比如:先取第1页
set @page_num = 1;

select *
from
(
select *,   

       --这里按照@@servername来排序,
       --你可以根据需要按照id,sid,sname等字段来排序
       (row_number() over(order by @@servername) - 1) / @page_size as pagenum
from sys.objects
)t
where pagenum = @page_num - 1
  相关解决方案