Итоговые данные

 

Все запросы, которые вы применяли до этого момента, имели дело с отдельными записями. Если вы выбирали 143 записи из таблицы Orders, то видели все 143 записи в ваших результатах. Но вы также можете группировать записи для получения промежуточных и общих итогов. В этом случае легче просматривать большие объемы информации и делать важные далеко идущие выводы.

 

Далее приведены примеры полезных подводящих итоги запросов:

 

¦  подсчет студентов в каждом классе;

¦  подсчет количества заказов, сделанных каждым клиентом;

¦  сумма, потраченная на один продукт;

¦  общая сумма долга или платежа клиента;

¦  подсчет среднего объема заказа, сделанного каждым клиентом;

¦  поиск самого дорогостоящего или самого дешевого заказа, сделанного клиентом.

 

Эти операции — подсчет, суммирование, определение среднего и поиск максимального и минимального значений — основные варианты в итоговом запросе (totals query). Итоговый запрос — это вид запроса, который должен перелопатить большое количество записей и выдать лаконичные итоги.

Для создания итогового запроса выполните следующие действия:

1.    Создайте новый запрос, выбрав Создание > Другие > Конструктор запросов (Create > Other > Query Design).

2.    Добавьте нужные вам таблицы с помощью диалогового окна Добавление таблицы (Show Table) и щелкните мышью кнопку Закрыть (Close).

В приведенном далее примере используется таблица Products из БД Boutique Fudge.

3. Вставьте поля, которые хотите использовать.

В этом примере используется поле Price, но хитрым образом: поле Price вставляется три раза для того, чтобы в запросе отображались результаты трех разных вычислений.

4. Выберите Работа с запросами > Показать или скрыть > Итоги (Query Tools > Show/Hide > Totals).

Программа Access вставляет ячейку Групповая операция (Total) для каждого поля сразу под ячейкой Таблица.

5. Для каждого поля задайте вариант из списка Групповая операция. Этот вариант определяет использование поля для вычисления итога или для группировки.

Итоговый запрос немного отличается от обычного запроса. Каждое поле должно попадать в одну из следующих категорий.

¦  Поле используется в итоговом вычислении (таком как определение среднего, подсчет количества и т. д.). Тип нужного вычисления выбирается с помощью ячейки Групповая операция. В табл. 7.7 перечислены все варианты из ячейки Групповая операция.

¦  Поле применяется для группировки. Обычно итоговые запросы соединяют в большой общий итог. Но вы можете разбить результаты на более мелкие промежуточные итоги, как описано в следующем разделе.

¦  Поле используется для фильтрации или отбора. В этом случае в ячейке Групповая операция нужно выбрать Условие (WHERE). (Фанаты БД, возможно, помнят, что WHERE — это ключевое слово, применяющееся для определения условия в языке SQL, как было описано в разд. "Анализ запроса" главы 6). Нужно также сбросить флажок Вывод на экран, поскольку программа Access не может выводить отдельные значения в итоговых сводках.

¦   

Примечание

Если вы попытаетесь вставить в итоговый запрос поле, которое не используется для вычисления или группировки и не скрыто, то получите ошибку при попытке выполнить запрос.

 

В этом примере (рис. 7.8) в поле Price применяются три разные групповые операции: Max, Min и Avg.

Рис. 7.8. Вверху: в данный итоговый запрос поле Price включено трижды и использует три разных вычисления. Обратите внимание на то, что в каждое поле применяется выражение, в котором дано более информативное название поля. Внизу: результаты отображают одну запись с максимальной ценой, минимальной ценой и средней ценой продуктов, проданных компанией Boutique Fudge

 

Примечание

В табл. 7.7 не указаны два варианта, предназначенные для статистиков — StDev и Var — которые вычисляют стандартное отклонение и дисперсию ряда чисел.

 

 

Таблица 7.7. Варианты получения итоговых данных

Значение в ячейке Групповая операция

Описание

Группировка

Группирует записи, основываясь на значениях в этом поле

Sum

Суммирует значения этого поля

Avg

Находит среднее для значений этого поля

Min

Возвращает наименьшее значение в этом поле

Max

Возвращает наибольшее значение в этом поле

Count

Подсчитывает количество записей (независимо от того, какое поле вы используете)

First

Возвращает первое значение в этом поле

Last

Возвращает последнее значение в этом поле

 

Разрабатывая итоговые запросы, можно использовать все приобретенные ранее в этой главе навыки написания запросов. Если вы хотите суммировать только продукты в конкретной категории, можно использовать в поле CategoryID, например, такое условие отбора:

=3

Это условие отбирает записи, у которых CategoryID равно  3 (что означает их включение в категорию Candies (конфеты)).

 

 

Примечание

Если вы хотите выполнить фильтрацию в поле, которое не используется в вычислении или группировке, убедитесь, что в ячейке Групповая операция выбран вариант Условие и сброшен флажок Вывод на экран.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100