SQL функция AVG

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

Описание

SQL функция AVG используется для возврата среднего значения выражения в операторе SELECT.

Синтаксис

Синтаксис для функции AVG в SQL.

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

Или синтаксис для функции AVG при группировке результатов по одному или нескольким столбцам.

SELECT expression1, expression2, … expression_n,
AVG(aggregate_expression)
FROM tables
[WHERE conditions]
GROUP BY expression1, expression2, … expression_n;

Параметры или аргумент

expression1, expression2, … expression_n
Выражения, которые не инкапсулированы в функции AVG и должны быть включены в предложение GROUP BY в конце SQL запроса
aggregate_expression
Это столбец или выражение, которое будет усреднено
tables
Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица
WHERE conditions
Необязательный. Это условия, которые должны быть выполнены для выбора записей

Пример — с одним выражением

Например, вы, возможно, захотите узнать, какова средняя стоимость всех товаров, входящих в категорию Clothing.

В этом примере SQL функции AVG выражению AVG(cost) мы указали псевдоним «Average Cost». В результате «Average Cost» будет отображаться как имя поля при возврате набора результатов.

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

Вы можете использовать SQL DISTINCT в функции AVG. Например, приведенная ниже инструкция SELECT возвращает совокупную среднюю стоимость уникальных значений стоимости, где категория — Clothing.

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

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

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

Вы также можете выполнить математическую операцию в функции AVG. Например, вы можете определить среднюю комиссию как 10% от sale_price.

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

В некоторых случаях вам потребуется использовать предложение SQL GROUP BY с функцией AVG.
Например, вы также можете использовать функцию AVG, чтобы вернуть название отдела и средние продажи (в связанном отделе).

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