MySQL функция AVG

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

Описание

MySQL функция AVG возвращает среднее значение выражения.

Синтаксис

Синтаксис MySQL функции AVG:

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

ИЛИ Синтаксис MySQL функции 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 - необязательный. Это условия, которые должны быть выполнены для выбранных записей.

Применение

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

  • MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23

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

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

Например:

В этом примере функции AVG выражению AVG (salary) мы указали алиас "Средняя зарплата". В результирующем наборе имя поля будет отображаться как "Средняя зарплата".

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

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

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

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

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

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

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

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