Агрегатные функции

Общее описание агрегатных функций

Для подведения итогов по данным, содержащимся в БД, в языке SQL предусмотрены агрегатные (статистические) функции. Агрегатная функция берет в качестве аргумента какой-либо столбец (для множества строк), а возвращает одно значение, определяемое типом функции:

AVG – среднее значение в столбце;

SUM – сумма значений в столбце;

MAX – наибольшее значение в столбце;

MIN – наименьшее значение в столбце;

COUNT – количество значений в столбце.

Аргументами агрегатных функций могут быть как столбцы таблицы, так и результаты выражений над ними. При этом выражение может быть сколь угодно сложным.

Вложенность агрегатных функций не допускается, однако из этих функций можно составлять любые выражения.

Для функций SUM и AVG столбец должен содержать числовые значения.

Специальная функция COUNT (*) служит для подсчета всех без исключения строк в таблице (включая дубликаты).

Аргументу всех функций, кроме COUNT (*), может предшествовать ключевое слово DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть исключены перед тем, как будет применяться функция.

Если не используется предложение GROUP BY, но в предложении SELECTиспользуется какая-либо агрегатная функция, то в качестве возвращаемых элементов нельзя указывать по отдельности столбцы таблиц (можно лишь в качестве аргументов агрегатных функций).

предыдущаяследующая