如何在每个日期获取每个类型的最大 ID

Posted

技术标签:

【中文标题】如何在每个日期获取每个类型的最大 ID【英文标题】:How to get the max ID for every Type every Date 【发布时间】:2021-04-18 15:25:05 【问题描述】:

我想为每个日期(Date)的每个类型(Types)保留最高的报告 ID(Report_ID

注意:数据列有多个日期,下图仅显示01.01.2021。

  SELECT a.*
  FROM Table1 a
  JOIN (
    SELECT Date, MAX(Report_ID) as maxID
    FROM Table1
    GROUP BY Date) b 
  ON a.Report_ID = b.maxID
  WHERE a.Date = '2021-01-01'
  ORDER BY Date desc

【问题讨论】:

【参考方案1】:

您可以使用相关子查询:

select t.*
from t
where t.report_id = (select max(t2.report_id)
                     from t t2
                     where t2.date = t.date and t2.type = t.type
                    );

【讨论】:

以上是关于如何在每个日期获取每个类型的最大 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何在每个月的列中获取最大星期六日期,而无需硬编码

如何在每个日期的两个日期范围之间获取 obj

如何获取每个外键的最短日期记录的记录 ID?

如何在 hive sql 中获取每个组的最大 row_number()

如何在包含最大值的表中找到记录?

如何在Postgres中按年月按最大(日期)组获取行?