"Пристрелка" к нужным данным
Предложения GROUP BY
Иногда вместо того, чтобы получить отдельные записи, вам может понадобиться узнать что-либо о группе записей. В этом случае вам поможет предложение GROUP BY (группировать по).
Предположим, что вы менеджер по продажам и хотите посмотреть эффективность ваших продаж. Для этого вы можете воспользоваться оператором SELECT, как показано в следующем примере:
SELECT InvoiceNo, SaleDate, Salesperson, TotalSale FROM SALES;
Полученный результат приведен на рис. 9.1.
Рис. 9.1. Результат выбора информации о продажах с 07.01.2001 по 07.07.2001
Этот результат дает вам лишь некоторое представление о том, как работают ваши продавцы, поскольку здесь выводится информация о небольшом количестве продаж. Однако в реальной жизни продажи компаний очень велики, и в этом случае уже непросто будет определить, как были достигнуты результаты. Чтобы проверить, была ли коммерчески эффективной работа продавцов, вы можете скомбинировать предложение GROUP BY с одной из функций агрегирования (также называемыми итоговыми функциями), чтобы получить количественную картину о выполнении продаж. К примеру, вы можете просмотреть, кто из продавцов работает с более дорогостоящими и прибыльными позициями, используя функцию среднего значения (AVG):
SELECT Salesperson, AVG(TotalSale) FROM SALES GROUP BY Salesperson;
Полученный результат приведен на рис. 9.2.
Рис. 9.2. Средний уровень продаж по каждому продавцу