首页  ·  知识 ·  数据库
oracle中rownum对排序的影响及解决方法
佚名  http://www.zxbc.cn/    编辑:dezai  图片来源:网络
1. 标准的rownum分页查询使用方法: select * from (select c.*, rownum rn from content c)where rn =

1. 标准的rownum分页查询使用方法:

select *
  from (select c.*, rownum rn from content c)
 where rn >= 1
   and rn <= 5

 

2. 但是如果, 加上order by addtime 排序则数据显示不正确

select *
  from (select c.*, rownum rn from content c order by addtime)
 where rn >= 1
   and rn <= 5

 

解决方法,再加一层查询,则可以解决,

select *
  from (select rownum rn, t.*
          from (select title, addtime from content order by addtime desc) t)
 where rn >= 1
   and rn <= 5

 

如果要考虑到效率的问题,上面的还可以优化成(主要两者区别)

select *
  from (select rownum rn, t.*
          from (select title, addtime from content order by addtime desc) t
         where rownum <= 10)
 where rn >= 3

本文作者:佚名 来源:http://www.zxbc.cn/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读