oracle rownum对排序的影响

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 it


    解决方法,再加一层查询,则能够解决, 效率

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

    若是要考虑到效率的问题,上面的还能够优化成(主要二者区别) 分页

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

相关文章
相关标签/搜索