Запросы могут производить обобщенное групповое значение полей точно также как и значение одного поля. Это делает с помощью агрегатых функций. Агрегатные функции производят одиночное значение для всей группы таблицы. Имеется список этих функций:
Функция
Выполняемые действия
AVG
Возвращает среднее значение данных числовых столбцов
COUNT
Подсчитывает количество строк, удовлетворяющих заданному условию
MIN
Находит минимальное значение столбца в группе строк
MAX
Находит максимальное значение столбца в группе строк
SUM
Суммирует числовые значения
Агрегатные функции используются подобно именам полей в предложении SELECT запроса, но с одним исключением, они берут имена поля как аргументы. Только числовые поля могут использоваться с SUM и AVG. COUNT, MAX, и MIN, могут использоваться и числовые или символьные поля. Когда они используются с символьными полями, MAX и MIN будут транслировать их в эквивалент ASCII, который должен сообщать, что MIN будет означать первое, а MAX последнее значение в алфавитном порядке. Выполним, например, следующий оператор, который отыскивает человека с "максимальной" фамилией, т. е. с фамилией, являющейся последней в упорядоченном по алфавиту списке фамилий:[24]
SELECT MAX( PR_NAME) AS"Фамилия"FROMPERSON
Мы получим фамилию "Янышева"
Аналогичным образом работает и функция MIN, в смысле с точностью до наоборот. Можете это также проверить.
Применим MIN к числовому полю, найдем минимальный тариф на билеты:[25]
SELECT MIN(TR_COST) FROMTARIFF
Получим минимальную стоимость билета.
В результате использования агрегатных функций возвращается одиночное значение, независимо от того сколько строк находится в таблице. Из-за этого, агрегатные функции и поля не могут выбираться одновременно, пока предложение GROUP BY (описанное далее) не будет использовано.