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 )