Общее описание агрегатных функций
Для подведения итогов по данным, содержащимся в БД, в языке SQL предусмотрены агрегатные (статистические) функции. Агрегатная функция берет в качестве аргумента какой-либо столбец (для множества строк), а возвращает одно значение, определяемое типом функции:
AVG – среднее значение в столбце;
SUM – сумма значений в столбце;
MAX – наибольшее значение в столбце;
MIN – наименьшее значение в столбце;
COUNT – количество значений в столбце.
Аргументами агрегатных функций могут быть как столбцы таблицы, так и результаты выражений над ними. При этом выражение может быть сколь угодно сложным.
Вложенность агрегатных функций не допускается, однако из этих функций можно составлять любые выражения.
Для функций SUM и AVG столбец должен содержать числовые значения.
Специальная функция COUNT (*) служит для подсчета всех без исключения строк в таблице (включая дубликаты).
Аргументу всех функций, кроме COUNT (*), может предшествовать ключевое слово DISTINCT (различный), указывающее, что избыточные дублирующие значения должны быть исключены перед тем, как будет применяться функция.
Если не используется предложение GROUP BY, но в предложении SELECTиспользуется какая-либо агрегатная функция, то в качестве возвращаемых элементов нельзя указывать по отдельности столбцы таблиц (можно лишь в качестве аргументов агрегатных функций).
предыдущаяследующая