请教一个简单的sql语句,tks!

dragon514 2005-07-08 11:48:36
select * from
(select * from contracthistory t where contractid=4307
order by UpdateTime)
where rownum=1
我要按照UpdateTime降序,然后选出第一条记录,
有没有更好的sql语句?谢谢!!!
...全文
70 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzwind5 2005-07-08
  • 打赏
  • 举报
回复
select * from contracthistory where 主键=(
select first_value(主键) over(order by UpdateTime desc)
from contracthistory where contractid=4307)
效率没测试过,可以考虑一下
ern 2005-07-08
  • 打赏
  • 举报
回复
更正,是row_number
ern 2005-07-08
  • 打赏
  • 举报
回复
这条不错了,有一条更通用,但是效率应该差不多
select * from
(select t.*,rownumber() over (order by UpdateTime) rnb from con.... t
where ....)
where rnb=1

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧