关于oracle加了rownum之后的排序,是一个什么样的情况呢?有大佬知道吗?

select * from gouwu_news where classid=1 and rownum=1 order by adddate desc
为什么我这句话的结果不是按照adddate日期来排序的,我就是想让数据按照adddate日期来排序,并获取这个第一条,这样的代码怎么改

慕码人8056858
浏览 356回答 2
2回答

噜噜哒

oracle中在加了rownum之后可进行排序。使用rownum,一般是筛选部分行数为结果,所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如select * from (select * from test order by a) where rownum<10;虽然此sql可实现,但若资料比较大的话,查询性能就很低。

浮云间

select * from (select * from gouwu_news where classid=1 order by adddate desc) awhere rownum=1
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL
Oracle