1、用rowid分页
SELECT * FROM emp WHERE ROWID IN(
SELECT rd FROM(
SELECT ROWNUM rn, ROWID rd FROM
(
SELECT * FROM emp ORDER BY ename
)
WHERE ROWNUM < 10
) temp1
WHERE rn >=6
)
2、用rownum分页
SELECT temp2.* FROM
(
SELECT temp1.*, ROWNUM rn FROM
(SELECT * FROM emp temp1 order by col1) temp1
WHERE ROWNUM < 10
) temp2
WHERE rn >=6
3、按分析函数来分
SELECT * FROM
(SELECT a.*, row_number() over(ORDER BY 1) rn FROM emp a)
WHERE rn BETWEEN 6 AND 10
注意:在使用rownum方法时,必须先排序,再生成行号,如果生成行号后再用order by 字段,顺序就会乱。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22786751/viewspace-619594/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22786751/viewspace-619594/