PostgreSQL unnest (array_agg (x)) - PullRequest
       1

PostgreSQL unnest (array_agg (x))

1 голос
/ 04 февраля 2020

Допустим, у нас есть таблица 1

1 2 3
a x 10
a y 20
b z 50

В результате выбора мы хотим получить следующее:

1 2 3
a x 30
a y 30
b z 50

Как минимум сумма строк в столбце 1 равно. Я делаю следующий выбор, и он работает. Но выбор выглядит ужасно, есть ли более разумное решение?

SELECT 1, UNNEST(ARRAY_AGG(2)), SUM(3) FROM table1
GROUP BY (1)

1 Ответ

0 голосов
/ 04 февраля 2020

Вместо этого вы можете сделать сумму окна:

select col1, col2, sum(col3) over(partition by col1) col3
from mytable
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...