SQL Server 2008分页

时间:2015-07-10 14:16:02

标签: sql sql-server-2008 pagination

在查看了使用SQL创建分页函数的一些示例之后,我设法编写了以下工作代码:

SELECT * 
FROM Services
ORDER BY ServiceDateUpdated DESC
   OFFSET @Offset ROWS FETCH NEXT @RecordsPerPage ROWS ONLY;

今天,在使用这一行代码超过一年后,我意识到它不能用于早期版本的SQL Server而不是2012.我当前的SQL Server版本是2008年。

如何重新编写它以使其与SQL Server 2008一起使用?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我会试试这个:

SET @MinPageRank = (@PageNumber - 1) * @NumInPage + 1  
SET @MaxPageRank =  @PageNumber * @NumInPage

SELECT * FROM (SELECT [RANK] = ROW_NUMBER() OVER (ORDER BY
ServiceDateUpdated  DESC),* FROM Service )
A WHERE A.[RANK] BETWEEN {MinPageRank} AND {MaxPageRank}