MySql、SqlServer、oracle分頁實現

Oracle:

SELECT * FROM(
       SELECT MY_TABLE.*, ROWNUMASMY_ROWNUMFROM(
            /**括號裏寫實際的需要查詢的SQL語句**/
       )AS MYTABLE WHERE ROWNUM<=200/**這裏是一頁中的最後一條記錄**/
)WHERE MY_ROWNUM>=10/**這裏是一頁中的第一條記錄**/

 

SQLServer2000: 

SELECT * FROM(
       SELECT TOP 頁面容量 * FROM(
             SELECT TOP 頁面容量 * 當前頁碼 * FROM
                 表 WHERE 條件 ORDERBY 字段A ASC
       )AS TEMPTABLE1 ORDERBY 字段A DESC
)AS TEMPTABLE2 ORDER BY 字段A ASC

 

SQLServer2005: 

 

SET @rowsPerPage = 10  

SET @pageNum = 3   

With SQLPaging  

As 

(  

Select Top(@rowsPerPage * @pageNum) ROW_NUMBER() OVER (ORDER BY id) as resultNum, id  

FROM myTable  

)  

select * from SQLPaging where resultNum > ((@pageNum - 1) * @rowsPerPage)


MYSQL:

     SELECT語句LIMIT頁面的第一條記錄-1,頁面容量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章