论坛首页 综合技术论坛

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

浏览 3496 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-09-09  
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(), 还有什么更加简便的,速度更加快的方法吗?
   发表时间:2015-09-29  
用时间字段倒序,用rowno取第一条
0 请登录后投票
   发表时间:2015-10-12  
select * from (select t.*,row_number() over (partition by t.card_id order by createdatetime desc) rn from CHRDATAUPLOAD t) where rn=1;
根据ID分组时间倒序取第一条
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics