1

我有以下数据:

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_modifieddate_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.

非常感谢。

4

1 回答 1

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
于 2013-01-26T16:09:00.467 回答