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 に答える