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