电竞煤老板 2018-11-23 03:19 采纳率: 0%
浏览 604

oracle分析函数怎么理解order by里面的rownum?

row_number() over (partition by a.accnt_currency_type, a.lv order by rownum)
如上这个函数是什么意思? (ps:order by里面的rownum是系统自带的rownum).

  • 写回答

2条回答 默认 最新

  • 回到未来望过去 2018-11-26 00:34
    关注

    这个语句的row_number() 其实是取了group by a.accnt_currency_type, a.lv 内的检索后的伪列rownum顺序
    最好携程按照某个字段排序会更有意义
    row_number() over (partition by a.accnt_currency_type, a.lv order by a.lv)

    比如:
    select a,b,rownum from TEST t;
    select a,b,row_number() over(order by rownum) from TEST t;
    这两个sql是等价的
    select a,b,rownum from TEST t;
    select a,b,row_number() over(order by a) from TEST t;
    这俩个,第二个会更有意义

    评论

报告相同问题?