在一個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。
https://www.cnblogs.com/accumulater/p/6137385.html