我有以下数据:
id date_modified value
1 some_date 4
1 some_date 3
1 some_date 1
2 some_date 5
3 some_date 8
3 some_date 7
...
此查询获取id
和date_modified
,其中date_modified
是最新日期:
select bh.id, max(bh.date_modified)
from my_table bh
group by bh.id;
这样做:
id date_modified
1 some_date
2 some_date
3 some_date
...
其中每个日期是每个id
的最新日期,几乎是我想要的日期。
如何更改group by
以获取value
?这是我感兴趣的value
,但我需要使用id
进行分组。
非常感谢。
答案 0 :(得分:1)
试试这个:
SELECT id, date_modified, value
FROM
(
SELECT
id, date_modified, value, ROW_NUMBER() OVER (PARTITIOn BY Id ORDER BY date_modified DESC) RN
FROM tbl
) A
WHERE RN = 1