冰糖你个雪梨

导航

SQLServer分页

版本一:
SELECT
* FROM ( SELECT TOP 10 * FROM ( SELECT TOP 20 ROW_NUMBER() OVER(ORDER BY @@IDENTITY ) AS 'rownum',* FROM ( SELECT * FROM U )AS P ORDER BY rownum ASC )AS T ORDER BY T.rownum DESC )AS Q ORDER BY Q.rownum ASC
显示第11-20条记录
这种有问题,最后一页如果不是pageSize的整数倍会取错(待优化)

版本二:
根据offset和limit分页
SELECT * FROM(SELECT TOP "+ (offset+limit) +" ROW_NUMBER() OVER(ORDER BY @@IDENTITY ) AS 'rownum',* FROM(
  原来的SQL
)AS P ORDER BY rownum ASC) AS Q WHERE  rownum > offset
这种分页待测试

 

posted on 2014-08-14 19:32  冰糖你个雪梨  阅读(142)  评论(0)    收藏  举报