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設定查詢條件來到達分頁的目的。