В этом учебном материале вы узнаете, как использовать SQL функцию SUM с синтаксисом и примерами.
Описание
SQL функция SUM используется для возврата суммы выражения в операторе SELECT.
Синтаксис
Синтаксис для функции SUM в SQL.
FROM tables
[WHERE conditions];
Или синтаксис для функции 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
- Необязательный. Это условия, которые должны быть выполнены для выбора записей
Пример - с одним выражением
Например, вы, возможно, захотите узнать, как совокупная общая зарплата всех сотрудников, чья зарплата превышает 25 000 долларов в год.
1 2 3 |
SELECT SUM(salary) AS "Total Salary" FROM employees WHERE salary > 25000; |
В этом примере SQL функции SUM мы присвоили псевдониму выражение SUM(salary) как "Total Salary". В результате "Total Salary" будет отображаться как имя поля при возврате набора результатов.
Пример - использование SQL DISTINC
Вы можете использовать SQL предложение DISTINCT в функции SUM. Например, приведенный ниже SQL оператор SELECT возвращает совокупный общий оклад с уникальными значениями окладов, где оклад превышает 25000 $ в год.
1 2 3 |
SELECT SUM(DISTINCT salary) AS "Total Salary" FROM employees WHERE salary > 25000; |
Если бы две зарплаты составляли 30000 $ в год, в SQL функции SUM использовалось бы только одно из этих значений.
Пример - использование формул
expressions, содержащееся в SQL функции SUM, необязательно должно быть одним полем. Вы также можете использовать формулу. Например, вам может потребоваться чистый доход для бизнеса. Чистый доход рассчитывается как общий доход за вычетом общих расходов.
1 2 |
SELECT SUM(income - expenses) AS "Net Income" FROM gl_transactions; |
Вы также можете выполнить математическую операцию в SQL функции SUM. Например, вы можете определить общую комиссию как 10% от общего объема продаж.
1 2 |
SELECT SUM(sales * 0.10) AS "Commission" FROM order_details; |
Пример - использование SQL GROUP BY
В некоторых случаях вам потребуется использовать SQL оператор GROUP BY с функцией SUM.
Например, вы также можете использовать SQL функцию SUM для возврата названия отдела и общих продаж (в связанном отделе).
1 2 3 4 |
SELECT department, SUM(sales) AS "Total sales" FROM order_details GROUP BY department; |
Поскольку в SQL операторе SELECT указан один столбец, который не инкапсулирован в SQL функции SUM, необходимо использовать SQL оператор GROUP BY. Поэтому поле department должно быть указано в SQL операторе GROUP BY.