В этом учебном пособии вы узнаете, как использовать MySQL функцию SUM с синтаксисом и примерами.
Описание
MySQL функция SUM возвращает суммарное значение выражения.
Синтаксис
Синтаксис MySQL функции SUM:
FROM tables
[WHERE conditions];
ИЛИ Синтаксис MySQL функции SUM при группировке результатов по одному или нескольким столбцам:
SUM(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, ... expression_n;
Параметры или аргументы
expression1, expression2, ... expression_n - выражения, которые не инкапсулированы в функции SUM и должны быть включены в предложение GROUP BY в конце SQL оператора.
aggregate_expression - это столбец или выражение, которое будет суммироваться.
tables - таблицы, из которых вы хотите получить записи. Должна быть хотя бы одна таблица, указанная в предложении FROM.
WHERE conditions - необязательный. Это условия, которые должны быть выполнены для выбранных записей.
Применение
Функция SUM может использоваться в следующих версиях MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
Пример с одним выражением
Рассмотрим примеры MySQL функции SUM, чтобы понять, как использовать функцию SUM в MySQL.
Например, вам необходимо узнать какая совокупная общая заработная плата всех сотрудников, чья зарплата превышает 20 000 долларов в год.
1 2 3 |
SELECT SUM(salary) AS "Total Salary" FROM employees WHERE salary > 20000; |
В этом примере функции SUM, выражению SUM (salary) присвоили псевдонима «Total Salary». В результате при возврате набора результатов в качестве имени поля будет отображаться «Total Salary».
Пример с использование DISTINCT
Вы можете использовать предложение DISTINCT в функции SUM. Например, приведенная ниже инструкция SQL возвращает комбинированный общий оклад уникальных значений заработной платы, где зарплата выше 20 000 долларов в год.
1 2 3 |
SELECT SUM(DISTINCT salary) AS "Total Salary" FROM employees WHERE salary > 20000; |
Если бы две зарплаты составляли 10 000 долларов в год, в функции SUM использовалось бы только одно из этих значений.
Пример с использованием формулы
Выражение, содержащееся в функции SUM, не обязательно должно быть одним полем. Вы также можете использовать формулу. Например, вы можете рассчитать общую комиссию.
1 2 |
SELECT SUM(sales * 0.05) AS "Total Commission" FROM orders; |
Пример с использованием GROUP BY
В некоторых случаях вам потребуется использовать предложение GROUP BY с функцией SUM.
Например, вы можете использовать функцию SUM, чтобы вернуть department (название отдела) и общий объем sales (продаж в соответствующем отделе).
1 2 3 |
SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department; |
Поскольку вы указали один столбец в своем операторе SELECT, который не инкапсулирован в функцию SUM, вы должны использовать предложение GROUP BY. Поэтому поле department должно быть указано в разделе GROUP BY.