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

假设表为Table,ID字段为ID,时间字段为time
2024-12-18 00:28:20
推荐回答(3个)
回答1:

select *
  from (select row_number() over(partition by id order by time desc) rn, a.*
           from table a)
 where rn = 1

以上。

回答2:

select id,max(time) from table group by id;

回答3:

先通过时间倒序,然后用id分组就出来了
select * from (select * from table order by time) as a group by a.id