oracle 同一个ID 有多条记录,怎么取时间最大的那一条

一直在java基础徘徊 2015-09-09 07:43:14
select t.card_id,t.upload_time from CHRDATAUPLOAD t where
t.upload_time = (select max(t1.upload_time) from CHRDATAUPLOAD t1 where t1.card_id = t.card_id )


注:这里的card_id就是标题里说的id。 除了max(), 还有什么更加简便的,速度更加快的方法吗?
...全文
11288 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AHUA1001 2019-05-17
  • 打赏
  • 举报
回复
引用 楼主 一直在java基础徘徊 的回复:
select t.card_id,t.upload_time from CHRDATAUPLOAD t where
t.upload_time = (select max(t1.upload_time) from CHRDATAUPLOAD t1 where t1.card_id = t.card_id )


注:这里的card_id就是标题里说的id。 除了max(), 还有什么更加简便的,速度更加快的方法吗?


这样写有问题,如果所有的upload_time都一样,估计和您预期的结果就不同了。
最简单粗暴的办法:
select t.card_id,MAX(t.upload_time) upload_time from CHRDATAUPLOAD t GROUP BY t.card_id ;
huayue2019 2019-05-16
  • 打赏
  • 举报
回复
引用
huayue2019 2019-05-16
  • 打赏
  • 举报
回复
引用
JuanRiquelme 2015-09-22
  • 打赏
  • 举报
回复
SELECT CARD_ID, UPLOAD_TIME FROM (SELECT T.CARD_ID, T.UPLOAD_TIME, MAX(UPLOAD_TIME) OVER(PARTITION BY CARD_ID) AS UPLOAD_TIME_ FROM CHRDATAUPLOAD T) T WHERE UPLOAD_TIME_ = UPLOAD_TIME;
  • 打赏
  • 举报
回复
目前数据量不是特别大,先试着用2楼的方法看看 。 谢谢大家
断剑1989 2015-09-09
  • 打赏
  • 举报
回复 1
引用 1楼xiaovhao 的回复:
SELECT * FROM (SELECT * FROM CHRDATAUPLOAD WHERE card_id=? ORDER BY upload_time desc) WHERE ROWNUM =1先排序然后灾区第一条
这个应该是比较快的方法
GG_wg 2015-09-09
  • 打赏
  • 举报
回复
select t.card_id,t.upload_time from CHRDATAUPLOAD t where (t.card_id,t.upload_time) in (select t1.card_id,max(t1.upload_time) from CHRDATAUPLOAD t1 group by t1.card
蓝色蛋饼 2015-09-09
  • 打赏
  • 举报
回复
--习惯这么写,不知道是不是好点,只扫描一次表。
select c.card_id, c.upload_time
  from (select t.*,
               --降序 max最先
               row_number() over(partition by t.card_id order by t.upload_time desc) rn
          from CHRDATAUPLOAD t) c
 where rn = 1;
xiaovhao 2015-09-09
  • 打赏
  • 举报
回复
SELECT * FROM (SELECT * FROM CHRDATAUPLOAD WHERE card_id=? ORDER BY upload_time desc) WHERE ROWNUM =1先排序然后灾区第一条

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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