有点迷惑啊

来源:5-2 案例1

wo_wo

2017-06-08 18:28

e1那一行的排序没有作用到rownum吧?没有将排序放在from的里面进行,那么取出的前8条记录跟有没有排序无关吧?进行order by 操作后,rownum并没有改变啊


写回答 关注

2回答

  • 哀幻暝
    2017-09-12 16:25:16

    你说的对,最内层的e1表不需要rownum列

  • Rexk
    2017-06-08 21:50:13

    rownum的排序永远按默认顺序生成的,与orderby无关。e2表中的rownum不是行号,是实际的列,因为与e2表自身的伪列重名,所以把rownum命名为r,r实际上为e1表的行号,但却是e2表的第一列,所以进行orderby后发生了改变。

    慕粉1474...

    可是e1表已经排序,rownum也不是从一到八这样的顺序而是打乱的,可是e2表查询大于等于5的rownum字段为什么会按5678的顺序排列呢?如果按工资从高到低,rownum的顺序应该被打乱才对的呀?

    2017-06-29 08:46:45

    共 1 条回复 >

Oracle高级查询

数据库开发中应用广泛的高级查询,本教程通过大量的案例详细讲解

62862 学习 · 144 问题

查看课程

相似问题