oracle利用rownum和rowid分页

  • 利用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 --这里再次排序

你可能感兴趣的:(oracle利用rownum和rowid分页)