您的位置:首页 > 数据库

SQL SERVER 2008单表分页

2016-04-11 15:00 344 查看
通用脚本如下:

SELECT TOP 页大小 * 

FROM

    (

        SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM TABLEA
    )   as A  

WHERE RowNumber > 页大小*(页数-1)

说明:假如当前页(currentPage)是第2页,每页显示10个数据(pageSzie)。那么第一页的数据就是第11-20条,所以为了显示第二页的数据,即显示第11-20条数据,那么就让RowNumber大于 10*(2-1) 即:页大小*(当前页-1)

实例如下:每页大小为100000,返回第二页数据,所以RowNumber从100001开始计算

DECLARE @PAGESIZE INT,
@PAGE INT

SET @PAGESIZE = 10000
SET @PAGE = 1

SELECT TOP (@PAGESIZE) * FROM(
SELECT ROW_NUMBER() OVER(ORDER BY A.UserId) AS RowNum,*
FROM BasUserInfo A
) A
WHERE A.RowNum > @PAGESIZE * (@PAGE -1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: