
- •Лекция №2 Сложные запросы Итоговые (Групповые) запросы.
- •Отображение строки групповых операций
- •Параметры строки групповых операций
- •Выполнение групповых операций для группы записей
- •Определение критерия для группового запроса
- •Определение критерия для поля группировки
- •Определение критерия для итогового поля
- •Определение критерия для неитогового поля
MS
ACCESS Запросы
(продолжение) стр.
Лекция №2 Сложные запросы Итоговые (Групповые) запросы.
Иногда возникает потребность получить информацию, которая основана на выполнении каких-то групповых операций (найти сумму значений или максимальное значение в поле). Запросы, выполняющие вычисления над группой записей, называются итоговыми или групповыми. Access предоставляет возможность создать такой запрос, не прибегая к программированию.
Для выполнения подобных групповых операций в Access имеется девять, так называемых, итоговых (агрегатных) функций, которые позволяют производить вычисления на основании значений полей. Результатом выполнения каждого из этих примеров как запроса является динамический набор данных из полей, основанных на требуемых математических вычислениях.
При создании группового запроса используется строка Групповая операция (Total) в режиме конструктора запроса.
Отображение строки групповых операций
Для выполнения группового запроса необходимо в режиме конструктора запроса активизировать строку Групповая операция. Для этого выполните одно из трех действий.
Выберите команду меню Вид ► Групповые операции
Контекстное меню ► Групповые операции
Щелкните на кнопке
Групповые операции панели инструментов.
Эта кнопка является переключателем, который определяет состояние строки Групповая операция (включено или выключено).
Параметры строки групповых операций
В Access можно выполнять групповые запросы для всех записей сразу или для группы записей в одной или нескольких таблицах. Для выполнения вычислений необходимо для каждого поля, включенного в запрос, выбрать соответствующую опцию из раскрывающегося списка в строке Групповая операция, включая любые скрытые поля (у которых сброшен флажок в строке Вывод на экран).
Итоговая означает функцию, которая получает в качестве аргумента группы записей и выполняет некоторые математические действия над ними. Это может быть как простая функция, так и сложное выражение, базирующееся на других функциях и определяемое пользователем. Функции (в строке Групповая операция) можно разделить на 4 категории:
1. Группировка
Эта категория состоит только из функции Группировка (Group By). Данная функция используется для указания поля, которое будет использоваться в качестве группирующего. Эта функция выбирается по умолчанию для всех ячеек строки Групповая операция (Total), т.е. при перетаскивании поля в бланк запроса Access автоматически устанавливает эту опцию. Эта функция — первый элемент раскрывающегося списка.
2. Выражение
Эта категория также состоит только из одной функции — Выражение (Expression). Данная функция (предпоследняя в раскрывающемся списке) служит для указания Access, что необходимо создать поле, значение которого будет вычисляться.
3. Условие
Категория условия состоит из одной функции — Условие (Where). Эта функция используется для того, чтобы сообщить Access критерии отбора полей для вычислений.
4. Итоговые функции
Категория итоговых функций имеет 9 опций.
Таблица. Итоговые функции
Функция |
Описание |
Поддерживаемый тип полей |
Count |
Количество непустых значений в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический, Текстовый |
Sum |
Сумма значений в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический |
Avg |
Среднее значение в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический |
Max |
Максимальное значение в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический, Текстовый |
Min |
Минимальное значение в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический, Текстовый |
StDev |
Стандартное отклонение значения в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический |
Var |
Дисперсия распределения значений в поле |
Счётчик, Числовой, Денежный, Дата\Время, Логический |
First |
Значение поля в первой записи таблицы (запроса) |
Счётчик, Числовой, Денежный, Дата\Время, Логический, Текстовый |
Last |
Значение поля в последней записи таблицы (запроса) |
Счётчик, Числовой, Денежный, Дата\Время, Логический, Текстовый |
Функцию Count строки Групповая операция можно применить к любому полю таблицы (или запроса). Однако она не будет учитывать записи, в поле которых содержится значение Null. Поэтому для функции Count лучше указывать поле первичного ключа, так как в нем нет значения Null, что позволяет правильно выполнить подсчет.
Когда вычисления проводятся по всем записям таблицы или запроса, результирующий динамический набор данных имеет только одну запись.
Access создает для всех столбцов в таблице заголовки по умолчанию: имя состоит из названий функции и поля. Можно изменить заголовки, переименовав поля в окне конструктора запросов. Для этого нужно поместить курсор в начало имени поля, ввести новое имя и «:» (двоеточие).