2016-11-14 8 views
0

2列でグループ化されたグループから最大値の行を選択したいとします。2つの列(PSQL)でグループ化されたグループから最大値を持つ行を選択

shared_id age_range average_date 
001   01-21  2016-10-25 22:00 
001   01-21  2016-10-25 21:00 
001   21-40  2016-10-25 20:00 
001   21-40  2016-10-25 19:00 
002   01-21  2016-10-25 18:00 
002   01-21  2016-10-25 17:00 
002   21-40  2016-10-25 16:00 
002   21-40  2016-10-25 15:00 
003   01-21  2016-10-25 14:00 
003   01-21  2016-10-25 13:00 
003   21-40  2016-10-25 12:00 
003   21-40  2016-10-25 11:00 

そして、その結果は次のようになります。

shared_id age_range average_date 
001   01-21  2016-10-25 22:00 
001   21-40  2016-10-25 20:00 
002   01-21  2016-10-25 18:00 
002   21-40  2016-10-25 16:00 
003   01-21  2016-10-25 14:00 
003   21-40  2016-10-25 12:00 

私はDISTINCT ONmax()で結果を取得しようとしましたが、唯一の多くのエラーを得ました。

+1

あなたが試したコードを投稿することができますか?このエラーは、average_dateでMAX()を使用するとかなり正直なグループに見えますか? – Matt

答えて

4
SELECT 
    share_id 
    ,age_range 
    ,MAX(average_date) as average_date 
FROM 
    TableName 
GROUP BY 
    share_id 
    ,age_range 
関連する問題