SQL Server 2000/2005 分頁SQL — 單條SQL語句有關(guān)分頁 SQL 的資料很多,有的使用存儲過程,有的使用游標(biāo)。使用游標(biāo)耗資多、效率低;使用存儲過程是個(gè)不錯(cuò)的選擇,因?yàn)榇鎯^程是經(jīng)過預(yù)編譯的,執(zhí)行效率高,也更靈活。先看看單條 SQL 語句的分頁 SQL 吧。
方法1: 適用于 SQL Server 2000/2005 SELECT TOP 頁大小 *
FROM table1 WHERE id NOT IN ( SELECT TOP 頁大小*(頁數(shù)-1) id FROM table1 ORDER BY id ) ORDER BY id 方法2: 適用于 SQL Server 2000/2005 SELECT TOP 頁大小 *
FROM table1 WHERE id > ( SELECT ISNULL(MAX(id),0) FROM ( SELECT TOP 頁大小*(頁數(shù)-1) id FROM table1 ORDER BY id ) A ) ORDER BY id 方法3: 適用于 SQL Server 2005 SELECT TOP 頁大小 *
FROM ( SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1 ) A WHERE RowNumber > 頁大小*(頁數(shù)-1) 說明,頁大?。好宽摰男袛?shù);頁數(shù):第幾頁。使用時(shí),請把“頁大小”和“頁大小*(頁數(shù)-1)”替換成數(shù)字。 |
|