使用t-sql 實作分頁也算顯學,使用CTE (後續也打算補上筆記) 搭配OFFSET 與FETCH NEXT,
也算是手到擒來,但若Sql Server 屬於滿清時代的 2008 以下版本,就需要另外語法,
這邊展示一下。
在上古時代需要使用在CTE 裡面先使用 ROW_NUMBER() OVER 來算出RowNo,
這樣後面的分頁才有所依據,語法如下
其中,T2 的總筆數欄位可以提供未來計算分頁數的依據,另外@pageNo 為「第幾頁的資料」,
@pageSize 為「一頁顯示幾筆」。
而有的時候會直接寫成StoredProcedure,如下所示
最後還是補上科技一點的做法使用 OFFSET 與FETCH NEXT
參考:MSDN
沒有留言:
張貼留言