唯一本尊
2017-06-10 02:45
采纳率: 25%
浏览 1.9k

ORACLE大数据排序order BY分页问题

图片说明
查询语句如下:
select ORG_ID , rn from (
SELECT
ORG_ID, rownum as rn
FROM TEMP_ORG order by org_id )
where rn > 10000 and rn < 150000
数据量小的时候rn和id的排序是一致的,都是ASC,但是当数据量变到足够大的时候
rn变成乱序的了,这到底是什么原因?还有就是分页查询应该order by rn ?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 千年514 2017-06-11 14:21
    已采纳

    select o.ORG_ID, o.rn
    from (select i.ORG_ID, rownum as rn
    from (SELECT ORG_ID FROM TEMP_ORG order by org_id) i /*内层进行*/
    where rownum < 150000) o /*第二层取最大*/
    where o.rn > 10000 /*第一层取最小*/

    评论
    解决 无用
    打赏 举报
查看更多回答(8条)

相关推荐 更多相似问题