rownum和order by的执行顺序问题

2019-09-19  本文已影响0人  zzj0990

SQL中rownum和order by的执行顺序的问题 :在一个SQL中,如果同时使用rownum和order by,会有一个先后顺序的问题。

比如select id1,id2 from t_tablename

where rownum<3 order by c_date desc

,这个语句会先从结果集中取前三条记录,再对这3天记录按日期排序。如果设计者向先对日期排序,再取前三天记录,那么就不会得到正确的结果。

所以rownum和order by一起使用的时候一定要注意的执行顺序的问题。

这句可以这样实现select id1,id2 from (select id1,id2 from t_tablename order by c_date desc) where rownum<3。

总结  :

rownum和order by的执行顺序遵循就近原则,谁在前面谁先执行。

上一篇下一篇

猜你喜欢

热点阅读