【发布时间】:2018-07-23 01:59:19
【问题描述】:
我有一个如下所示的 postgres 表:
user_id date val
1 2015-01-01 1
2 2015-01-01 2
1 2015-01-30 7
3 2015-02-01 1
3 2015-02-05 7
3 2015-02-12 3
4 2015-02-10 1
4 2015-02-11 2
我希望能够按月分组获取 vals 的总和,以便它只计算用户最新值的总和。
预期输出:
date sum
2015-01-01 9
2015-02-01 5
我希望有一些灵活的方法允许使用相同的代码以不同的方式进行聚合。所以如果我决定按 user_id 分组
user_id sum
1 7
3 3
4 2
我可以想到一些基于 max 等的复杂 SQL 连接。但我想知道是否有更优雅的东西?
【问题讨论】:
-
它是最新值而不是最大值。所以 2 月 user_id = 3 的最新值为 3,而 2 月 user_id = 4 的最新值为 2
标签: sql postgresql group-by