2020年8月21日 星期五

使用T-SQL 實作資料分頁查詢

使用t-sql 實作分頁也算顯學,使用CTE (後續也打算補上筆記) 搭配OFFSET 與FETCH NEXT,

也算是手到擒來,但若Sql Server 屬於滿清時代的 2008 以下版本,就需要另外語法,

這邊展示一下。


在上古時代需要使用在CTE 裡面先使用 ROW_NUMBER() OVER 來算出RowNo,

這樣後面的分頁才有所依據,語法如下



其中,T2 的總筆數欄位可以提供未來計算分頁數的依據,另外@pageNo 為「第幾頁的資料」,

@pageSize 為「一頁顯示幾筆」。


而有的時候會直接寫成StoredProcedure,如下所示




最後還是補上科技一點的做法使用 OFFSET 與FETCH NEXT


參考:MSDN

沒有留言:

張貼留言