SQL функция SUM
В этом учебном материале вы узнаете, как использовать SQL функцию SUM с синтаксисом и примерами.
Описание
SQL функция SUM используется для возврата суммы выражения в операторе SELECT.
Синтаксис
Синтаксис для функции SUM в SQL.
Или синтаксис для функции SUM при группировке результатов по одному или нескольким столбцам.
Параметры или аргумент
Пример — с одним выражением
Например, вы, возможно, захотите узнать, как совокупная общая зарплата всех сотрудников, чья зарплата превышает 25 000 долларов в год.
В этом примере SQL функции SUM мы присвоили псевдониму выражение SUM(salary) как «Total Salary». В результате «Total Salary» будет отображаться как имя поля при возврате набора результатов.
Пример — использование SQL DISTINC
Вы можете использовать SQL предложение DISTINCT в функции SUM. Например, приведенный ниже SQL оператор SELECT возвращает совокупный общий оклад с уникальными значениями окладов, где оклад превышает 25000 $ в год.
Функция SUM
Функция SUM суммирует значения указанного поля по всем выбранным строкам.
К примеру, если у нас есть поле ‘зарплата’, мы можем найти суммарную зарплату всех работников.
См. также функцию AVG, которая находит среднее арифметическое (сумма, деленная на количество).
См. также функцию MAX, которая возвращает максимальное значение.
См. также функцию MIN, которая возвращает минимальное значение.
Синтаксис
Примеры
Все примеры будут по этой таблице workers, если не сказано иное:
| id айди |
name имя |
age возраст |
salary зарплата |
|---|---|---|---|
| 1 | Дима | 23 | 100 |
| 2 | Петя | 24 | 200 |
| 3 | Вася | 25 | 300 |
Пример
Давайте найдем суммарную зарплату всех работников:
Результат выполнения SQL запроса:
| sum суммарная зарплата |
|---|
| 600 |
Пример
Давайте найдем суммарную зарплату тех работников, у которых id меньше 3-х:
Как сложить два числа в sql запросе
Из данной статьи вы узнаете об арифметических операторах в MySQL, а также приведу примеры их использование при выборки данных из таблиц.
Арифметические операторы MySQL
Оператор сложения
Возвращает сумму операндов A и B.
Оператор вычитания
Возвращает разность операндов A и B.
При использовании с одним операндом меняет его знак.
Пример: – (3 + 2) = -5.
Оператор умножения
Возвращает произведение операндов A и B.
Оператор деления
Возвращает частное от деления A на B.
Оператор деления c остатком, или целочисленного деления
Возвращает целую часть частного от деления A на B.
7 DIV 2 = 3; (-7) DIV 2 = -3; 7 DIV (-2) = -3; (-7) DIV (-2) = 3.
Оператор вычисления остатка
Возвращает остаток от целочисленного деления A на B.
Пример: 7 % 2 = 1; (–7) % 2 = -1; 7 % (-2) = 1; (-7) % (-2) = -1.
Пример использования арифметических операторов при выборки данных из таблицы
testtable — имя таблицы.
A и B — столбецы в таблице.
В этом примере в одном запросе собраны все арифметические операторы.
Вот и все. Рассмотрение арифметических операторов MySQL завкршено. Всем пока.
Меня два раза спрашивали [члены Парламента]: «Скажите на милость, мистер Бэббидж, что случится, если вы введёте в машину неверные цифры? Cможем ли мы получить правильный ответ?» Я не могу себе даже представить, какая путаница в голове может привести к подобному вопросу. / Charles Babbage /
Агрегатные функции SQL — SUM, MIN, MAX, AVG, COUNT
Будем учиться подводить итоги. Нет, это ещё не итоги изучения SQL, а итоги значений столбцов таблиц базы данных. Агрегатные функции SQL действуют в отношении значений столбца с целью получения единого результирующего значения. Наиболее часто применяются агрегатные функции SQL SUM, MIN, MAX, AVG и COUNT. Следует различать два случая применения агрегатных функций. Первый: агрегатные функции используются сами по себе и возвращают одно результирующее значение. Второй: агрегатные функции используются с оператором SQL GROUP BY, то есть с группировкой по полям (столбцам) для получения результирующих значений в каждой группе. Рассмотрим сначала случаи использования агрегатных функций без группировки.
Функция SQL SUM
Функция SQL SUM возвращает сумму значений столбца таблицы базы данных. Она может применяться только к столбцам, значениями которых являются числа. Запросы SQL для получения результирующей суммы начинаются так:
После этого выражения следует FROM (ИМЯ_ТАБЛИЦЫ), а далее с помощью конструкции WHERE может быть задано условие. Кроме того, перед именем столбца может быть указано DISTINCT, и это означает, что учитываться будут только уникальные значения. По умолчанию же учитываются все значения (для этого можно особо указать не DISTINCT, а ALL, но слово ALL не является обязательным).
Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке .
Сначала работать будем с базой данных фирмы — Company1. Скрипт для создания этой базы данных, её таблиц и заполения таблиц данными — в файле по этой ссылке .
Пример 1. Есть база данных фирмы с данными о её подразделениях и сотрудниках. Таблица Staff помимо всего имеет столбец с данными о заработной плате сотрудников. Выборка из таблицы имеет следующий вид (для увеличения картинки щёлкнуть по ней левой кнопкой мыши):

Для получения суммы размеров всех заработных плат используем следующий запрос (на MS SQL Server — с предваряющей конструкцией USE company1;):
Этот запрос вернёт значение 287664,63.
А теперь упражнение для самостоятельного решения. В упражнениях уже начинаем усложнять задания, приближая их к тем, что встречаются на практике.
Пример 2. Вывести сумму комиссионных, получаемых всеми сотрудниками с должностью Clerk.
Функция SQL MIN
Функция SQL MIN также действует в отношении столбцов, значениями которых являются числа и возвращает минимальное среди всех значений столбца. Эта функция имеет синтаксис аналогичный синтаксису функции SUM.
Пример 3. База данных и таблица — те же, что и в примере 1.
Требуется узнать минимальную заработную плату сотрудников отдела с номером 42. Для этого пишем следующий запрос (на MS SQL Server — с предваряющей конструкцией USE company1;):
Запрос вернёт значение 10505,90.
И вновь упражнение для самостоятельного решения. В этом и некоторых других упражнениях потребуется уже не только таблица Staff, но и таблица Org, содержащая данные о подразделениях фирмы:

Пример 4. К таблице Staff добавляется таблица Org, содержащая данные о подразделениях фирмы. Вывести минимальное количество лет, проработанных одним сотрудником в отделе, расположенном в Бостоне.
Функция SQL MAX
Аналогично работает и имеет аналогичный синтаксис функция SQL MAX, которая применяется, когда требуется определить максимальное значение среди всех значений столбца.
Пример 5. База данных и таблица — те же, что и в предыдущих примерах.
Требуется узнать максимальную заработную плату сотрудников отдела с номером 42. Для этого пишем следующий запрос (на MS SQL Server — с предваряющей конструкцией USE company1;):
Запрос вернёт значение 18352,80
Пришло время упражнения для самостоятельного решения.
Пример 6. Вновь работаем с двумя таблицами — Staff и Org. Вывести название отдела и максимальное значение комиссионных, получаемых одним сотрудником в отделе, относящемуся к группе отделов (Division) Eastern. Использовать JOIN (соединение таблиц).