Сумма значений в столбце для всех различных значений в другом столбце в SQL - PullRequest
0 голосов
/ 30 марта 2020

У меня есть такая таблица:

ID | Value | Person

1  | 10    | Roy
1  | 10    | Sam
1  | 10    | Willis
2  | 50    | Troy
2  | 50    | Loy

Я хочу получить столбец «Значение» для всех различных идентификаторов. Таким образом, в приведенном выше примере результат должен быть 60 (т. Е. 10 + 50).

Я пытался сделать sum(value) over (partition by ID), но это не дает желаемого результата.

Пожалуйста, дайте мне знать, как Я могу достичь этого.

Кстати, я пытаюсь сделать это в PostgreSQL.

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Попробуйте

select sum(value) from table group by (id, value)
0 голосов
/ 30 марта 2020

Вы можете использовать два уровня агрегации:

select sum(avg_value)
from (select id, avg(value) as avg_value
      from t
      group by id
     ) id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...