Linq分页的方法用到Skip(),Take()。
然而,用SQL脚本进行分页如何写呢?
首先我们可以通过ROW_NUMBER() OVER进行排序并得到一个带序号的视图,再通过序号确定要查找的分页数据
例:
1 DECLARE @pageSize INT ; 2 DECLARE @pageIndex INT ; 3 SET @pageSize = 5 4 SET @pageIndex = 2 ; 5 --第二页,每页显示5条数据 6 SELECT * FROM 7 ( 8 SELECT ROW_NUMBER() OVER (ORDER BY CreateDate ASC) AS 'rowNumber' ,* FROM dbo.Task_Info 9 ) AS temp10 WHERE rowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 ) AND ( @pageIndex * @pageSize )