MySql、SqlServer、oracle分页实现



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