Поставим задачу подсчитать суммарное количество заказов по странам. В поле Страна получателя таблицы Заказы мы видим, что заказы рассылаются в две страны: в Россию и в Украину. Для создания запроса используем таблицу Заказы. Используя режим конструктора, добавим в Конструктор запросов таблицу Заказы тем же способом, как описано в пункте 4.3. Конструктор запроса Заказы по странам показан на рис. 4.16.
Рис. 4.16 Конструктор запроса Заказы по странам с выпавшим меню групповых операций, в котором выбрана операция Count
Рис. 4.17 Группа Показать или скрыть вкладки Конструктор
В поля запроса из таблицы перенесём всего два: Страна получателя и Заказ. Щелчком по кнопке Итоги из группы Показать или скрыть на вкладке Конструктор (рис. 4.17) добавим строку Групповая операция в нижнюю часть Конструктора запроса, что тоже видно на рис. 4.16. Весь список групповых операций приведён в таблице 4.2.
Таблица 4.2
Функция | Описание | Обрабатываемые типы данных |
Avg (Average) | Вычисляет для столбца среднее значение. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения. | «Числовой», «Денежный», «Дата/время» |
Count | Подсчитывает количество элементов в столбце. | Все типы данных, за исключением наборов данных, одновременно допускающих несколько значений. |
Max (Maximum) | Возвращает элемент, имеющий наибольшее значение. Для текстовых данных наибольшим будет последнее по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. | «Числовой», «Денежный», «Дата/время» |
Min (Minimum) | Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наименьшим будет первое по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. | «Числовой», «Денежный», «Дата/время» |
StDev (Standard Deviation) | Показывает, насколько значения отклоняются от среднего. | «Числовой», «Денежный» |
Sum | Суммирует элементы в столбце. Работает только с числовыми или денежными данными. | «Числовой», «Денежный» |
Var (Variance) | Вычисляет дисперсию для всех значений в столбце. Если таблица содержит менее двух строк, Access возвращает пустое значение. | «Числовой», «Денежный» |
Группировка | Размещает одинаковые записи в таблице запроса вместе, то есть собирает их в группы для которых выполняются вычисления. Группы размещаются в алфавитном порядке и по возрастанию. | «Текстовый», «Числовой» |
Выражение | Создает вычисляемое поле с помощью статистической функции, включенной в выражение. | Типы данных, участвующие в выражении |
Окончание таблицы 4.2
Условие | Определяет условие отбора для поля, которое не участвует в группировке. Автоматически убирается флажок Вывод на экран. | Типы данных, участвующие в условии |
First | Возвращают значение поля из первой записи в результирующем наборе запроса. | Имя таблицы, константа или функция (не статистическая функция SQL). |
Last | Возвращают значение поля из последней записи в результирующем наборе запроса. | Имя таблицы, константа или функция. |
В клетке строки Групповая операция поля Заказ надо щёлкнуть с правой стороны. Выпадет меню с перечнем возможных групповых операций, как это видно на рис. 4.16. Из меню надо выбрать операцию Count (подсчёт). Если сразу после создания запроса перевести его в режим Открыть, то имя последнего поля окажется не очень понятным: Count-Заказ. Чтобы переименовать его, надо в режиме конструктора щелкнуть правой кнопкой мыши на поле Заказ и вызвать диалоговое окно Окно свойств (рис. 4.12) и там, в строке Подпись впечатать новое имя столбца: Всего заказов. После этого окно Конструктора запроса можно закрыть.
Готовый запрос Заказы по странам показан на рис. 4.18. В графе Всего заказов видно общее количество заказов по странам.
Рис. 4.18 Готовый запрос Заказы по странам
Второй пример запроса с групповой операцией ставит целью выявить суммы продаж по городам. Чтобы список не был слишком длинным, ограничимся только городами в Украине. Такой запрос показан на рис. 4.19.
На рис. 4.20 показан процесс конструирования запроса Суммы по городам. Он использует запрос Стоимость товаров и таблицу Клиенты.
Из таблицы Клиенты в запрос отправляются поля Страна и Город, а из запроса Стоимость товаров – поле Сумма. Строка Групповая операция образуется с помощью кнопки Итоги из группы Показать или скрыть на вкладке Конструктор (рис. 4.17), как и в предыдущем примере. Из групповых операций в поле Сумма выбирается операция Sum. Это же поле сортируется По убыванию, чтобы первыми в списке оказались города с наибольшей выручкой. Чтобы в списке остались города только из Украины в поле Страна, зададим Условие отбора: "Украина". Всё это видно на рис. 4.20. Запросив диалоговое окно Окно свойств, сменим подпись: вместо Sum-Сумма запишем Объём заказов.
Рис. 4.19 Готовый запрос Суммы по городам
Рис. 4.20 Конструирование запроса Суммы по городам