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

SUM

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

MySQL 8.1
SUM([DISTINCT] expr)

Параметры

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

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

Число: DECIMAL для целых и DECIMAL-значений, DOUBLE для чисел с плавающей точкой; NULL не учитываются, для пустого набора — NULL, а не 0

Примеры

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

MySQL 8.1
SELECT SUM(amount * unit_price) AS total
FROM Payments;
total
92533

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

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

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

MySQL 8.1
SELECT SUM(unit_price) AS total
FROM Payments
WHERE unit_price < 0;
total
<NULL>

Подробности

Если подходящих строк нет или все значения равны NULL, результат — NULL, а не 0. Чтобы получить 0, оберните сумму: IFNULL(SUM(x), 0) или COALESCE(SUM(x), 0).

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

Где изучить