Справочник по функциям

SUM

Возвращает сумму значений выражения в группе строк.

PostgreSQL 17.5
SUM([DISTINCT] expression)

Параметры

DISTINCTключевое словонеобязательный
Суммировать только уникальные значения
expressionnumeric
Числовое выражение, значения которого суммируются

Возвращаемое значение

Число: bigint для smallint и integer, numeric для bigint и numeric, для real и double precision — тот же тип; NULL не учитываются, для пустого набора — NULL, а не 0

Примеры

Сумма всех платежей

PostgreSQL 17.5
SELECT SUM(amount * unit_price) AS total
FROM Payments;
total
92533

Траты каждого члена семьи

PostgreSQL 17.5
SELECT family_member,
	SUM(amount * unit_price) AS spent
FROM Payments
GROUP BY family_member
ORDER BY family_member;
family_memberspent
112504
274644
33659
4650
51076

Пустой набор строк

PostgreSQL 17.5
SELECT SUM(unit_price) AS total
FROM Payments
WHERE unit_price < 0;
total
<NULL>

Подробности

Чтобы для пустого набора получить 0, оберните результат в COALESCE: COALESCE(SUM(amount), 0). Сложить только часть строк группы можно через FILTER (WHERE ...).

Смотрите также

Где изучить