按每天的最大值分组

问题描述 投票:0回答:1
身份证 价值 日期
1 10 2023-10-12 16:10:59.457
1 20 2023-10-12 14:20:54.997
1 30 2023-10-13 10:30:59.457
1 70 2023-10-13 10:20:54.997
2 10 2023-10-12 18:00:59.457
2 20 2023-10-13 14:00:54.997

我有一个包含 ID、一些值和日期字段的表,我想按 ID 和日期进行分组,但只取每个 ID 的最大日期值。

身份证 价值 日期
1 10 2023-10-12 16:10:59.457
1 30 2023-10-13 10:30:59.457
2 10 2023-10-12 18:00:59.457
2 20 2023-10-13 14:00:54.997
sql sorting group days
1个回答
0
投票

使用Windowing概念来解决这个问题。

SELECT id,
   value,
   date,
   ROW_NUMBER(date) OVER
     (PARTITION BY id,TO_DATE(date) ORDER BY date DESC)
     AS row_number
  FROM YOUR_TABLE 
WHERE row_number = 1
© www.soinside.com 2019 - 2024. All rights reserved.