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,页面容量

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