例如,如果我的表(没有主键)是:
id | timestamp | region | name |
1 2018-01-01 region1 name1
1 2018-01-02 region2 name1
2 2018-01-01 region2 name2
2 2018-01-02 region1 name3
我想退回两行
id | timestamps | region | name |
1 [2018-01-01, 2018-01-02] region2 name1
2 [2018-01-01, 2018-01-02] region1 name3
因此,从本质上讲,汇总时间戳记,但使用最新时间戳记的行来填充其他字段。
我开始时是这样的:
SELECT id, array_agg(timestamp), first_value(region), first_value(name) FROM tbl GROUP BY id
但是我知道这不是在选择first_value