天天看點

SQL Server使用ROW_NUMBER()來分頁

ROW_NUMBER() 分頁語句,從SQL SERVER 2005 後才開始橫空出世?

WITH tbTmp_CTE AS(

SELECT ROW_NUMBER()OVER(ORDER BY ArticleID asc) AS RowNumber,* FROM XXX_Article

)

SELECT ArticleID,Title 

FROM tbTmp_CTE

WHERE RowNumber BETWEEN 1 AND 10;

首頁用WITH建立個臨時命名的結果集(這些結果集稱為公用表表達式 (CTE)),

對表中的每行先排序再設定其RowNumber資料,然後通過select查詢,

通過where設定查詢條件來到達分頁的目的。