Oracle分页查询

2014-11-24 02:21:17 · 作者: · 浏览: 5
方法一:(适合小数据量)
SELECT * FROM
(
SELECT ROWNUM as 别名 rn, 别名d.* FROM 表名1 as 别名 d
WHERE ROWNUM<=20
)
WHERE别名 rn>=11;

方法二速度较稳定,推荐使用
SELECT * FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY id) AS 别名 rn, d.*
FROM 表名 as 别名 d
)
WHERE别名 rn BETWEEN 11 AND 20;

方法三不适合大量数据
SELECT * FROM 表名1 WHERE ROWNUM<=20
MINUS
SELECT * FROM 表名1 WHERE ROWNUM<11;