В SQL добавлены дополнительные функции, которые позволяют вычислять обобщенные групповые значения. Для применения агрегатных функций предполагается предварительная операция группировки. В чем состоит суть операции группировки? При группировке все множество кортежей отношения разбивается на группы, в которых собираются кортежи, имеющие одинаковые значения атрибутов, которые заданы в списке группировки.
Например, сгруппируем отношение R1 по значению столбца Дисциплина. Мы получим 4 группы, для которых можем вычислить некоторые групповые значения, например количество кортежей в группе, максимальное или минимальное значение столбца Оценка.
Это делается с помощью агрегатных функций. Агрегатные функции вычисляют одиночное значение для всей группы таблицы. Список этих функций представлен в таблице 5.7.
Таблица 5.7. Агрегатные функции
Функция |
Результат |
||
COUNT |
Количество строк или непустых значений полей, которые выбрал запрос |
||
SUM |
Сумма всех выбранных значений данного поля |
||
AVG |
Среднеарифметическое значение всех выбранных значений данного поля |
||
M1N |
Наименьшее из всех выбранных значений данного поля |
||
MAX |
Наибольшее из всех выоранных значений данного поля |
||
R1 |
|||||
|
ФИО |
Дисциплина |
Оценка |
||
Группа 1 |
Петров Ф. И. |
Базы данных |
5 |
||
|
Сидоров К. А. |
Базы данных |
4 |
||
|
Миронов А. В. |
Базы данных |
2 |
||
|
Степанова К. Е. |
Базы данных |
2 |
||
|
Крылова Т. С. |
Базы данных |
5 |
||
|
Владимиров В. А. |
Базы данных |
5 |
||
Группа 2 |
Сидоров К. А. |
Теория информации |
4 |
||
|
Степанова К. Е. |
Теория информации |
2 |
||
|
Крылова Т. С. |
Теория информации |
5 |
||
|
Миронов А. В. |
Теория информации |
Null |
||
Группа 3 |
Трофимов П. А. |
Сети и телекоммуникации |
4 |
||
|
Иванова Е. А. |
Сети и телекоммуникации |
5 |
||
|
Уткина Н. В. |
Сети и телекоммуникации |
5 |
||
Группа 4 |
Владимиров В. А. |
Английский язык |
4 |
||
|
Трофимов П. А. |
Английский язык |
5 |
||
|
Иванова Е. А. |
Английский язык |
3 |
||
|
Петров Ф. И. |
Английский язык |
5 i |
||