SUM ФУНКЦИЯ

В этом учебном пособии вы узнаете, как использовать Oracle/PLSQL функцию SUM с синтаксисом и примерами.

Описание

Oracle/PLSQL функция SUM возвращает суммарное значение выражения.

Синтаксис

Синтаксис Oracle/PLSQL функции SUM:

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 возвращает числовое значение.

Применение

Функцию SUM можно использовать в следующих версиях Oracle/PLSQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

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

Рассмотрим несколько примеров функции SUM и изучим, как использовать функцию SUM в Oracle/PLSQL.

Например, вы, возможно, захотите узнать, какая совокупная общая заработная плата всех сотрудников, чья зарплата превышает 50000$ в год.

В этом примере функции SUM мы использовали псевдоним «Total Salary» для SUM(salary). В результате «Total Salary» будет отображаться в качестве имени поля при возврате результирующего набора.

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

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

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

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

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

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

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

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

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