执行顺序
Oracle会先设置行的rownum,再进行order by
执行顺序:rownum > order by

正确的写法应该是先order by,先包一层查询,再赋rownum值

select *
from (select rownum rno, t1.*
from (select *
from (select sysdate + level level_ from dual connect by level <= 10) t
order by level_ desc) t1) t2
where t2.rno <= 3

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
猜你喜欢
  • 2021-09-01
  • 2021-07-23
  • 2021-11-11
  • 2022-12-23
  • 2021-07-23
  • 2022-02-10
  • 2021-04-05
相关资源
相似解决方案