select * from gouwu_news where classid=1 and rownum=1 order by adddate desc为什么我这句话的结果不是按照adddate日期来排序的,我就是想让数据按照adddate日期来排序,并获取这个第一条,这样的代码怎么改
2 回答
噜噜哒
TA贡献1784条经验 获得超7个赞
oracle中在加了rownum之后可进行排序。
使用rownum,一般是筛选部分行数为结果,
所以若再排序,只是对部分结果进行排序,可能不是所需要的结果。
若在oracle先排序再rownum,则使用SQL嵌套可以实现,比如
select * from (select * from test order by a) where rownum<10;
虽然此sql可实现,但若资料比较大的话,查询性能就很低。
浮云间
TA贡献1829条经验 获得超4个赞
select * from (select * from gouwu_news where classid=1 order by adddate desc) a
where rownum=1
添加回答
举报
0/150
提交
取消