Групповые операции в запросах
С помощью групповых операций записи собираются в группы с одинаковыми значениями указанных полей. Формирование в группы необходимо в тех случаях, когда для других полей этих групп требуется вычислить значение какой-либо статистической функции. Например:
Sum- сумма значений некоторого поля для группы;
Avg- среднее значение некоторого поля для группы;
Max, Min - максимальное и минимальное значение поля в группе;
Count- количество значений поля в группе без учета пустых значений;
Условие- отбор значений по группам, соответствующим условиям отбора
С помощью функции Avg можно подсчитать среднее значение в каждой группе. Функции Min, Maxвыбирают минимальное или максимальное значение в каждой группе. С помощью функции Countподсчитывается количество записей в каждой группе.
Пример 13. Подсчитать суммы, выплаченные каждым предприятием по каждому виду налога.
В бланк запроса поместить поля таблицы СПЕЦИФИКАЦИЯ ПЛАТЕЖЕЙ в следующей последовательности: Код предприятия, Код налога, Сумма.
На панели инструментов нажать кнопку (Итоги). После этого в бланке запроса появится дополнительная строка Групповая операция.
Согласно поставленной задаче, для полей Код предприятия и Код налога в строке Групповая операция должно быть установлено значение Группировка. Для поля Сумма в строке Групповая операция открыть список и выбрать функцию Sum.
Группировка
В этом запросе выполнена группировка по полю Код предприятия, затем внутри каждой группы по полю Код налога.
Сначала создаются группы с одинаковыми кодами предприятий, затем внутри них создаются группы с одинаковыми кодами налогов. Затем с помощью функции SUM, выбранной из списка, вычисляются суммы в образованных группах.
Код предприятия | Код налога | Сумма | |
50,00 р. | |||
50,00 р. | |||
100,00 р. | 200,00 р. | ||
50,00 р. | |||
50,00 р. | 100,00 р. | ||
100,00 р. | |||
200,00 р. | 300,00 р. | ||
150,00 р. | |||
150,00 р. | |||
100,00 р. | 400,00 р. | ||
100,00 р. | |||
500,00 р. | 600,00 р. | ||
100,00 р. | 100,00 р. |
В результате группировки получены 6 групп, по которым вычисляются общие суммы: 200,00р.; 100,00р.; 300,00р.; 400,00р.; 600,00р.;100,00р.
После выполнения запроса получится следующий результат:
Закрыть окно. Запрос сохранить под именем Суммы выплат по налогам.
Если требуется получить количество платежей каждого предприятия по каждому налогу, то необходимо выбрать из списка функцию COUNT.
Закрыть окно. Запрос сохранить под именем Количество.
Создаются группы и подсчитывается количество платежей по каждому предприятию и каждому налогу.
КОД_ПРЕД | КОД_НАЛ | СУММА | |
50,00 р. | |||
50,00 р. | |||
100,00 р. | |||
50,00 р. | |||
50,00 р. | |||
100,00 р. | |||
200,00 р. | |||
150,00 р. | |||
150,00 р. | |||
100,00 р. | |||
100,00 р. | |||
500,00 р. | |||
100,00 р. |
После выполнения запроса получим результат: