美文网首页
rownum和order by的执行顺序问题

rownum和order by的执行顺序问题

作者: zzj0990 | 来源:发表于2019-09-19 09:50 被阅读0次

    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的执行顺序遵循就近原则,谁在前面谁先执行。

    相关文章

      网友评论

          本文标题:rownum和order by的执行顺序问题

          本文链接:https://www.haomeiwen.com/subject/utjoectx.html