КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Группировка в итоговом запросеНаипростейший итоговый запрос суммирует все выбранные записи в одну строку результатов, как показано на рис. 7.8. В более сложном итоговом запросе применяется группировка для вычисления промежуточных итогов. Для корректного применения группировки следует помнить о том, что поле, которое вы используете, должно содержать много повторяющихся значений. Например, хорошо группировать клиентов по штатам, в которых они живут. Поскольку в каждом штате много клиентов, у вас получатся осмысленные промежуточные итоги. Глупо группировать клиентов по номерам социального обеспечения, поскольку в результате получится столько групп, сколько у вас клиентов. На рис. 7.9 показан итоговый запрос с применением группировки.
Рис.7.9. Вверху: продукты сгруппированы по категории продукта. Внизу: результат — отдельная строка с итогами по каждой категории продуктов В итоговом запросе можно использовать многоуровневую группировку, вставив несколько полей со значением Группировкав ячейку Групповая операция.Но результаты могут оказаться неожиданными. Предположим, что вы группируете длинный список записей о продажах по наименованиям товаров и по именам клиентов. В результате вы получите отдельную группу для каждой комбинации "клиент — товар". В табл. 7.8 приведена часть результатов запроса, подобного описанному, в котором группируются записи из таблицы OrderDetailsБД Boutique Fudge, а затем они сортируются по CustomerID. Таблица 7.8. Результаты запроса с многоуровневой группировкой
Таблица 7.8 (окончание)
Из этой таблицы видно, что клиент с номером 10 потратил в целом $432.12 на товар с номером 108 во всех заказах. Этот же клиент потратил $16.79 на товар с номером 134, $53.30 — на товар с номером 210 и т. д. (Вы можете взять эти данные и отсортировать их по коду товара ProductID,чтобы увидеть объемы продаж каждого товара для разных клиентов. У вас все та же информация, но анализировать ее можно по-разному.) Это результат, который вы хотели получить. Но ему недостает хороших промежуточных итогов. Было бы полезно узнать, сколько клиент с номером 10 потратил на каждый тип продукта и сколько он потратил всего. Но из-за жесткой табличной структуры итогового запроса получить такой результат невозможно. Если вы хотите увидеть эту разбитую на подгруппы информацию с промежуточными итогами, у вас есть две возможности. Можно использовать перекрестный запрос или запрос к сводной таблице - два улучшенных варианта подведения итогов, которые описаны в главе 9. Если же вас на самом деле интересует вывод вашей информации на печать, можно создать отчет, включающий многоуровневую группировку и итоги, как описано в части III.
|