oracle 查询每一笔数据里面的最早数据

jayleehom2000 2011-10-31 10:53:32
id hm sj
1 1 2011/08/29 14:56:34
1 2 2011/08/30 15:56:34
1 2 2011/08/17 20:55:34
1 3 2011/08/20 14:00:34
1 4 2011/08/17 14:20:34
2 1 2011/08/29 14:56:34
2 2 2011/08/30 15:56:34
3 2 2011/08/17 20:55:34
2 3 2011/08/20 14:00:34
2 4 2011/08/17 14:20:34
3 1 2011/08/29 14:56:34
3 2 2011/08/30 15:56:34
3 2 2011/08/17 20:55:34
3 3 2011/08/20 14:00:34
3 4 2011/08/17 14:20:34


我想要的结果就是 根据id 查询出每一笔记录的最早的那个数据
结果就是这样
1 4 2011/08/17 14:20:34
2 4 2011/08/17 14:20:34
3 4 2011/08/17 14:20:34


麻烦问一下 这个怎么写啊? 谢了



...全文
417 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NLP爱好者 2011-11-18
  • 打赏
  • 举报
回复
大家很给力啊 ,学习了 ,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
cainiao1923 2011-11-18
  • 打赏
  • 举报
回复
就用row_number()
monkey_li 2011-11-01
  • 打赏
  • 举报
回复
用min(a.date)来处理
cosio 2011-10-31
  • 打赏
  • 举报
回复
select id, hm, sj from (
select id, hm, sj,row_number()over(partition by id order by sj) n from table_name) where n=1
xiaoyu871225 2011-10-31
  • 打赏
  • 举报
回复
[code=SQL]SELECT t.id,t.hm,t.sj FROM (SELECT id,hm,sj,row_number() over(PARTITION BY ID ORDER BY sj) rn FROM test_tab) t
WHERE t.rn = 1
[/code]
scrack 2011-10-31
  • 打赏
  • 举报
回复
select id, hm, sj from (
select id, hm, sj,row_number()over(partition by id order by sj) n from table_name) where n=1
xiaoyu871225 2011-10-31
  • 打赏
  • 举报
回复
SELECT t.id,t.hm,t.sj FROM (SELECT id,hm,sj,row_number() over(PARTITION BY ID ORDER BY sj) rn FROM ) t
WHERE t.rn = 1
xiaoyu871225 2011-10-31
  • 打赏
  • 举报
回复
SELECT t.id,t.hm,t.sj FROM (SELECT id,hm,sj,row_number() over(PARTITION BY ID ORDER BY sj) rn FROM ) t
WHERE t.rn = 1
007-x 2011-10-31
  • 打赏
  • 举报
回复
可以试试row_number
select id, hm, sj from (
select id, hm, sj,row_number()over(partition by id order by sj) n from table_name) where n=1

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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