为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕码人8056858 2021-08-24 19:11:32
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可实现,但若资料比较大的话,查询性能就很低。

查看完整回答
反对 回复 2021-08-30
?
浮云间

TA贡献1829条经验 获得超4个赞

select * from (select * from gouwu_news where classid=1 order by adddate desc) a
where rownum=1

查看完整回答
反对 回复 2021-08-30
  • 2 回答
  • 0 关注
  • 390 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信