我有一张这样的桌子:
ID | Value | Person
1 | 10 | Roy
1 | 10 | Sam
1 | 10 | Willis
2 | 50 | Troy
2 | 50 | Loy
我想为所有不同的ID获取一些“值”列。因此,在上面的示例中,结果应为60(即10+ 50)。
我尝试做sum(value) over (partition by ID)
,但是没有得到期望的结果。
请让我知道如何实现此目标。
我正尝试在PostgreSQL中做到这一点。
您可以使用两个级别的聚合:
select sum(avg_value)
from (select id, avg(value) as avg_value
from t
group by id
) id;