在查看了使用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一起使用?
提前致谢。
答案 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}