【发布时间】:2016-11-14 18:43:17
【问题描述】:
我想从按两列分组的组中选择具有最大值的行。
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 ON 和max() 获得结果,但只得到了很多错误。
【问题讨论】:
-
您能否发布您尝试过的代码以及错误,这看起来是一个相当简单的组,由 average_date 上的 MAX() 组成
标签: sql postgresql