暂无图片
oracle查询的问题: 有五个名字,每个名字下办理的业务时间不同,怎么查询出每个名字办理距离现在时间最近的一条业务?
我来答
分享
暂无图片 匿名用户
oracle查询的问题: 有五个名字,每个名字下办理的业务时间不同,怎么查询出每个名字办理距离现在时间最近的一条业务?

oracle查询的问题: 有五个名字,每个名字下办理的业务时间不同,怎么查询出每个名字办理距离现在时间最近的一条业务?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
lscomeon

select 名字,max(业务时间) 

from

xxxxx

where  名字 in (五个名字)

group by 名字

order by 1

/

暂无图片 评论
暂无图片 有用 0
暂无图片
摸摸鱼

表名:T1

列-名字:name

列-业务时间:time

--查询每个名字下办理业务时间最近的一条记录

select * from T1 where (name,time) in select (name,max(time) from T1 group by name);

暂无图片 评论
暂无图片 有用 0
DarkAthena

这个应该用开窗函数做分组排序

select t.* from (select row_number() over(partition by 名字 order by 业务时间 desc) rn, t.* from t where 名字 in ('A','B','C','D','E')) t where rn = 1
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏