Oracle利用rownum和rowid分页

2014-11-24 18:58:43 · 作者: · 浏览: 8

利用rownum分页可以参考下面的sql


select * from (


select t1.*,rownum rn from (


select * from scott.emp order by sal desc --这里是排序好的表


)t1 where rownum < 8 --这里是上限


)where rn > 5 --这里是下限



利用rowid分页可以参考下面的sql,rowid的效率比rownum高


select * from scott.emp where rowid in ( --这里选择要查询出的字段


select rid from (


select rownum rn,rid from (


select rowid rid,sal from scott.emp order by sal desc --这里进行表排序


) where rownum < 8 --这里是上限


) where rn > 5 --这里是下限


) order by sal desc --这里再次排序