用T-SQL 做分頁, 有沒有可能呢?

  • 4045
  • 0
  • 2013-04-29

前一陣子看到朋友在使用T-SQL的Partition做分頁處理, 後來想了一個比較有效率的做法

讓我們來看看怎麼在SQL做分頁吧

用T-SQL 做分頁, 感覺很簡單呢...

前一陣子看到朋友在使用T-SQL的Partition做分頁處理, 後來想了一個比較有效率的做法

讓我們來看看怎麼在SQL做分頁吧


declare @page int 
set @page =1

declare @pagesize int 
set @pagesize =20

declare @pagestart int 
set @pagestart = (@page * @pagesize) - @pagesize;

declare @pageend int 
set @pageend =(@page * @pagesize) + 1;

select * from (SELECT row_number()over(order by SeqNo) id, SeqNo, Account, Account_Status, ID_Number, Cell FROM  Account) a
where a.id>@pagestart and a.id<@pageend

 

在這裡宣告了page及pagesize, 透過row_number的區間撈取, 立即可以回傳對應頁數的內容

是不是很簡單啊?

 

-----------------------
Share is Power