@kondratev-ad

Как агрегировать записи одной таблицы в PostgreSQL?

Как сделать запрос на агрегирование записей одной таблицы (в дальнейшем отправка этих данных в другую таблицу)
Например, есть такая таблица:
6268f7615ea6a903075577.png
В ней, нужно агрегировать записи по box_id, в итоге должна получится такая таблица:
6268f7a29eaf5990940103.png
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Простой запрос с суммой и группировкой
select 
	box_id, max(name), max(another_name), "product", 
	sum(coalesce(incoming::numeric, 0)) "incoming",
	sum(coalesce(output::numeric, 0)) "output",
	sum(coalesce(incoming::numeric, 0)) - sum(coalesce(output::numeric, 0)) "balance"
from table1
group by product, box_id
order by box_id;


PostgreSQL live
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы