SUM
Возвращает сумму значений выражения в группе строк.
MySQL 8.4
SUM([DISTINCT] expr)- [ ]необязательная часть
- DISTINCT
- Суммировать только уникальные значенияКлючевое словоНеобязательный
- expr
- Числовое выражение, значения которого суммируютсяDECIMAL
Возвращаемое значение
Число: DECIMAL для целых и DECIMAL-значений, DOUBLE для чисел с плавающей точкой; NULL не учитываются, для пустого набора — NULL, а не 0
Примеры
Сумма всех платежей
MySQL 8.4
SELECT SUM(amount * unit_price) AS total
FROM Payments;Траты каждого члена семьи
MySQL 8.4
SELECT family_member,
SUM(amount * unit_price) AS spent
FROM Payments
GROUP BY family_member;Пустой набор строк
MySQL 8.4
SELECT SUM(unit_price) AS total
FROM Payments
WHERE unit_price < 0;Подробности
Если подходящих строк нет или все значения равны NULL, результат — NULL, а не 0. Чтобы получить 0, оберните сумму: IFNULL(SUM(x), 0) или COALESCE(SUM(x), 0).