SQL Server функция SUM

В этом учебном пособии вы узнаете, как использовать функцию SUM в SQL Server (Transact-SQL) с синтаксисом и примерами.

Описание

В SQL Server (Transact-SQL) функция SUM возвращает суммарное значение выражения.

Синтаксис

Синтаксис функции SUM в SQL Server (Transact-SQL):

SELECT SUM(aggregate_expression)
FROM tables
[WHERE conditions];

ИЛИ синтаксис функции SUM при группировке результатов по одному или нескольким столбцам:

SELECT expression1, expression2, ... expression_n,
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 может использоваться в следующих версиях SQL Server (Transact-SQL):
SQL Server vNext, SQL Server 2016, SQL Server 2015, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005

Пример с одним полем

Рассмотрим некоторые примеры SQL Server функции SUM, чтобы понять, как использовать функцию SUM в SQL Server (Transact-SQL).

Например, вы можете узнать, как общее количество всех products, количество которых больше 10.

В этом примере функции SUM мы выражению SUM(quantity) установили псевдоним "Total Quantity". При возврате результирующего набора - "Total Quantity" будет отображаться как имя поля.

Пример использования DISTINCT

Вы можете использовать оператор DISTINCT в функции SUM. Например, приведенный ниже оператор SQL возвращает общую сумму salary с уникальными значениями salary, где salary ниже 29 000 долларов в год.

Если бы две salary составляли 24 000 долл. в год, в функции SUM использовалось только одно из этих значений.

Пример использования формулы

Выражение, содержащееся в функции SUM, не обязательно должно быть одним полем. Вы также можете использовать формулу. Например, вы можете рассчитать общую комиссию.

Пример использования GROUP BY

В некоторых случаях вам потребуется использовать оператор GROUP BY с функцией SUM.

Например, вы также можете использовать функцию SUM, чтобы вернуть имя department и общее количество (в department), где количество превышает 10.

Поскольку вы указали один столбец в операторе SELECT, который не входит в функции SUM, вы должны использовать предложение GROUP BY. Поэтому поле department должно быть указано в операторе GROUP BY.