列中值的总和,SQL中另一列中的所有不同值

问题描述 投票:0回答:1

我有一张这样的桌子:

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中做到这一点。

sql postgresql amazon-redshift postgresql-9.1 amazon-athena
1个回答
0
投票

您可以使用两个级别的聚合:

select sum(avg_value)
from (select id, avg(value) as avg_value
      from t
      group by id
     ) id;
© www.soinside.com 2019 - 2024. All rights reserved.