SQL Server 2005新增功能--Row_NUMBER() 分页查询

来源:互联网 发布:软件著作权登记证 编辑:程序博客网 时间:2024/06/05 14:29

我的测试代码

SELECT * FROM
(
 
SELECT ROW_NUMBER() OVER(ORDER BY DATE) ROWNUM, * FROM BAS_CALENDAR
) CAL
WHERE ROWNUM BETWEEN (50*1)+1 AND 50*2
ORDER BY DATE ASC


开发圣经上的示例代码

CREATE PROC spGetPages2 @iRowCount INT@iRowPageNo INT
AS
SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY ProductID ASC) RowNum, * FROM Production.Product ) OrderData
WHERE RowNum BETWEEN @iRowCount*(@iPageNo-1)+1 and @iRowCount*@iPageNo
ORDER BY ProductID ASC

GO

EXEC spGetPages2 10,20