表结果如下,A,B,C,D都是普通属性,D为数值型,要求按D从到小排序后,分页显示。我知道前N项可以用top...但如果要查询N到N+10项的数据改怎么写SQL语句呢?

------解决方案--------------------
ROW_NUMBER()
------解决方案--------------------
没有id制造id~~1楼正解!
用row_number over(order by D列)
------解决方案--------------------
给你一个列,类似这样的:
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