Предложение GROUP BY
Иногда требуется получить агрегированные значения (минимум, максимум, среднее) не по всему результирующему набор данных, а по каждой из входящих в него групп записей, характеризующихся одинаковыми значениями какого-либо столбца. Для применения агрегатных функций предполагается предварительная операция группировки. В чем состоит суть операции группировка. При группировке все множество кортежей отношения разбивается на имеющие одинаковые значения атрибутов, которые заданы в списке группировки.
Эту возможность предоставляет предложение GROUP BY инструкции SELECT. назначение предложения GROUP BY лучше всего можно понять на примере.
Пример. Какова средняя стоимость заказа для каждого сотрудника компании?
SELECT ID_SLZH, AVG(PRICE)
FROM ZAKAZY
GROUP BY ID_SLZH
На логическом уровне запрос выполняется следующим образом:
1. Заказы делятся на группы, по одной для каждого служащего. В каждой группе все заказы имеют одно и то же значение в столбце ID_SLZH.
2. Для каждой группы вычисляется среднее значение столбца PRICE по всем строкам, входящим в группу, и генерируется одна итоговая строка результатов. Эта строка содержит значение столбца ID_SLZH для группы и среднюю стоимость заказа для данной группы.
Дата добавления: 2015-02-03; просмотров: 1094;