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;Траты каждого члена семьи
MySQL 8.1
SELECT family_member,
SUM(amount * unit_price) AS spent
FROM Payments
GROUP BY family_member;Пустой набор строк
MySQL 8.1
SELECT SUM(unit_price) AS total
FROM Payments
WHERE unit_price < 0;Подробности
Если подходящих строк нет или все значения равны NULL, результат — NULL, а не 0. Чтобы получить 0, оберните сумму: IFNULL(SUM(x), 0) или COALESCE(SUM(x), 0).