选择当天的最后一个ID值

我有一个示例表,如下所示

ID 日期 信息
1 15.02.2020
2 15.02.2020 b
1 15.02.2020 c
1 15.02.2020 d
3 15.02.2020 e
1 16.02.2020 f
3 16.02.2020 g
3 16.02.2020 h

我需要创建一个选择语句,在同一天向我显示每个 ID 的最后一行。 如下所示。

ID 日期 信息
2 15.02.2020 b
1 15.02.2020 d
3 15.02.2020 e
1 16.02.2020 f
3 16.02.2020 h

如何在 Oracle SQL 中管理它?

iCMS 回答:选择当天的最后一个ID值

一种方法使用相关子查询:

select t.*
from t
where t.id = (select max(t2.id)
              from t t2
              where t2.info = t.info and t2.date = t.date
             );

你也可以使用窗口函数:

select t.*
from (select t.*,row_number() over (partition by info,date order by id desc) as seqnum
      from t
     ) t
where seqnum = 1;
本文链接:https://www.f2er.com/129613.html

大家都在问