为了账号安全,请及时绑定邮箱和手机立即绑定

有点迷惑啊

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


正在回答

2 回答

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕粉1474178094

可是e1表已经排序,rownum也不是从一到八这样的顺序而是打乱的,可是e2表查询大于等于5的rownum字段为什么会按5678的顺序排列呢?如果按工资从高到低,rownum的顺序应该被打乱才对的呀?
2017-06-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有点迷惑啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信