我有一个返回以下内容的查询:
ID Rank
1 1
2 1
3 2
4 3
5 4
6 4
我试图在末尾使用OFFSET / FETCH NEXT来返回分页记录
即。如果我只想要每页3行并且我想要第1页,我会将1传递给@Page,将3传递给@PageRecordCount,对于第2页,@ Page = 2来获取第2页,依此类推......
OFFSET (@Page - 1) * @PageRecordCount ROWS
FETCH NEXT @PageRecordCount ROWS ONLY;
如果我需要为每个页面完整分组记录,我该如何做到这一点?
我期待的是: @Page = 1 @PageRecordCount = 3
返回:
ID
1
2
3
4
我想返回分组数,而不是行数。这可能吗?
答案 0 :(得分:2)
我想你想要这个:
;with cte as(your current query)
select * from cte
where rank > (@page - 1) * @count and rank <= @page * @count