oracle distinct 问题

亲努力啊 2011-11-04 01:44:00
A 表有三个段

id userName time
1 张三 2011-11-04
2 王五 2011-10-15
3 张三 2011-10-22
4 张三 2011-10-17


我想要得结果是 张三 和王五最新的记录

请各位帮忙谢谢
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
亲努力啊 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 benchim888 的回复:]
SQL code

SELECT *
FROM (SELECT ID,
USERNAME,
TIME,
ROW_NUMBER() OVER(PARTITION BY USERNAME ORDER BY TIME DESC) ROW_
FROM A)
WHERE ROW……
[/Quote]
谢谢
BenChiM888 2011-11-04
  • 打赏
  • 举报
回复

SELECT *
FROM (SELECT ID,
USERNAME,
TIME,
ROW_NUMBER() OVER(PARTITION BY USERNAME ORDER BY TIME DESC) ROW_
FROM A)
WHERE ROW_ = 1;


cnwz 2011-11-04
  • 打赏
  • 举报
回复
select id,userName,time
from (
select id,userName,time
,row_number() over (partition by userName order by time desc) RN
from A
where A.userName in ('张三','王五')
) B
where RN = 1
亲努力啊 2011-11-04
  • 打赏
  • 举报
回复
结果也就是这个样子(id 要不要都可):
id userName time
1 张三 2011-11-04
2 王五 2011-10-15

17,377

社区成员

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

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