Linq分頁的方法用到Skip(),Take()。然而,用SQL腳本進行分頁如何寫呢?首先我們可以通過ROW_NUMBER() OVER進行排序並得到一個帶序號的視圖,再通過序號確定要查找的分頁數據例: 1 DECLARE @pageSize INT ; 2 DECLARE @pageIndex I...
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 temp 10 WHERE rowNumber BETWEEN ( ( ( @pageIndex - 1 ) * @pageSize ) + 1 ) AND ( @pageIndex * @pageSize )