NUMBER进行的快速分页

Linq分页的方法用到Skip(),Take()。

然而,用SQL脚本进行分页如何写呢?

首先我们可以通过ROW_NUMBER() OVER进行排序并得到一个带序号的视图,再通过序号确定要查找的分页数据

例:

DECLARE @pageSize INT ;
DECLARE @pageIndex INT ;
SET @pageSize = 5
SET @pageIndex = 2 ;
 --第二页,每页显示5条数据           
SELECT  * FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY CreateDate ASC) AS 'rowNumber' ,* FROM dbo.Task_Info
) AS temp
WHERE rowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 ) AND ( @pageIndex * @pageSize )

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c4d0bcc2e7359f5012cc02688956ec71.html