DECLARE @pageNumber INT = -- 前端传来的页码 从1开始 DECLARE @pageSize INT = -- 前端传来的每页大小 SELECT * FROM Students ORDER BY BirthDate OFFSET (@pageNumber - 1) * @pageSize ROWS FETCH NEXT @pageSize ROWS ONLY;
DECLARE @pageNumber INT = -- 这里接收前端传来的页码 DECLARE @pageSize INT = -- 这里接收前端传来的每页大小
-- 使用ROW_NUMBER()函数创建临时序列 WITH Paging AS ( SELECT ROW_NUMBER() OVER (ORDER BY BirthDate) AS RowNum, s.* FROM Students s ) -- 根据页码和每页大小选取指定范围内的记录 SELECT * FROM Paging WHERE RowNum BETWEEN (@pageNumber - 1) * @pageSize + 1 AND @pageNumber * @pageSize;