日期:2014-05-16  浏览次数:20791 次

【转】Oracle 和 MySQL实现分页查询例子
1. Oracle:利用ROWNUM
SQL Sample:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21

利用三层嵌套子查询,可以在最内层应用Order by

2. MySQL: 利用LIMIT
SELECT * FROM table   LIMIT [offset,] rows | rows OFFSET offset

mysql> SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15

//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.

//如果只给定一个参数,它表示返回最大的记录行数目:
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行

//换句话说,LIMIT n 等价于 LIMIT 0,n。