2016-11-14 92 views
0

我想从两列分组的组中选择最大值的行。从两列分组(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