Использование групповых операций в запросах

Статистические функции используются в запросах главным образом для вычисления всевозможных итоговых значений, например для числового поля, можно вычислить среднее значение или сумму значений для всех или отобранных записей, можно посчитать количество записей, возвращаемых запросом и т.д. В отличие от запросов с применением вычисляемых полей, здесь вычисления проводятся внутри одного столбца («по вертикали»). Примеры функций приведены в таблице 2.1

Таблица 2.1 Примеры статистических функций

Функция Типы полей Описание
Avg Все типы полей, исключая Текстовый, поле МЕМО, Поле объектов OLE. Вычисляет среднее арифметическое значение чисел, содержащихся в указанном поле таблицы.
Count Все типы полей Вычисляет количество непустых записей в поле.
Sum Все типы полей, исключая Текстовый, поле МЕМО, Поле объектов OLE. Вычисляет сумму набора чисел, содержащихся в поле.
Min Все типы полей, исключая Текстовый, поле МЕМО, Поле объектов OLE. Находит минимальное из указанных в поле чисел.
Max Все типы полей, исключая Текстовый, поле МЕМО, Поле объектов OLE. Находит максимальное из указанных в поле чисел.

Для создания запроса с использованием групповых операций формируется запрос на выборку. В бланк запроса включаются поля, по которым надо произвести группировку, и поля, по которым надо произвести статистические вычисления. Затем курсор помещается в нижнюю часть конструктора запросов. Вызывается контекстное меню, и выбирается в нем пункт Групповые операции. В бланке запроса появляется строка Групповая Операция, в которой для всех полей записано «Группировка» (Рис. 2.40).

 
 

Рис. 2.40 Вызов строки «Групповые операции» в конструкторе запросов

Для того чтобы выполнить вычисления в группе по некоторому полю, нужно заменить в нем слово «Группировка» на статистическую функцию. Выбрать необходимую функцию можно через раскрывающийся в поле список. При организации запросов с использованием групповых операций в бланк запроса надо отбирать только те поля, которые будут участвовать в вычислениях. Вычисления могут проводиться: на всем диапазоне записей; или на выделенных записях таблицы.

Имеется таблица 2.2, содержащая сведения о студентах:

Таблица 2.2 Сведения о студентах

фамилия имя отчество дата рождения курс группа семестр
Андреев Алексей Алексеевич 16.03.1988   а  
Андреев Анатолий Сергеевич 26.01.1989   а  
Анисимов Руслан Владимирович 06.03.1989   а  
Баблакова Вера Александровна 10.06.1989   а  
Бугера Екатерина Александровна 03.10.1989   б  
Вестимая Светлана Николаевна 17.01.1990   б  
Егоров Михаил Владимирович 06.06.1989   б  
Бирчук Алексей Андреевич 29.08.1988   а  
Боровкова Анна Владимировна 11.03.1989   а  

 
 

Требуется получить сведения об общем количестве студентов. Для этого надо составить запрос (Рис. 2.41):

Рис. 2.41 Вычисления на всем диапазоне записей (по всей таблице)

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

Иногда расчеты надо проводить, разделив предварительно данные на группы (сгруппировав их). Например, подсчитать количество студентов на каждом курсе отдельно.

Для этого в запрос надо добавить на только поле, по которому будет производиться расчет, но и поле, по которому происходит группировка данных. В первом из указанных полей – выбрать нужную статистическую функцию, а во втором – оставить элемент «Группировка» (Рис. 2.42).


Рис. 2.42 Вычисления на выделенных записях (по курсам)

Аналогично можно подсчитать количество студентов в каждой группе каждого курса. Для этого надо произвести группировку данных сначала по курсу, а затем – по группе (Рис. 2.43).


Рис. 2.43 Вычисления на выделенных записях (по курсам и группам)

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

Статистические функции могут применяться и для одного поля таблицы. Например, можно создать запрос, в котором будет рассчитано минимальное, максимальное, среднее значение стипендии студентов, общая сумма стипендии и общее количество студентов, получающих стипендию (Рис. 2.44). Рассмотрим таблицу 2.3, содержащую сведения о студентах:

Таблица 2.3 Сведения о студентах

фамилия имя отчество дата рождения курс группа семестр стипендия
Андреев Алексей Алексеевич 16.03.1988   а      
Андреев Анатолий Сергеевич 26.01.1989   а      
Анисимов Руслан Владимирович 06.03.1989   а      
Баблакова Вера Александровна 10.06.1989   а      
Бугера Екатерина Александровна 03.10.1989   б      
Вестимая Светлана Николаевна 17.01.1990   б      
Егоров Михаил Владимирович 06.06.1989   б      
Бирчук Алексей Андреевич 29.08.1988   а      
Боровкова Анна Владимировна 11.03.1989   а      

       
 
 
   


Рис. 2.44 Применение групповых операций для одного поля таблицы

Помимо статистических функций, групповые операции содержат элементы: Группировка, Условие, Выражение. Элемент Группировка – применяется для создания групп данных.

Иногда в итоговые запросы необходимо ввести условие отбора. В этом случае в нужном поле вместо элемента «Группировка» выбирают элемент «Условие» и задать необходимые условия. При этом в поле, в котором введено условие, автоматически сбрасывается флажок «Вывод на экран», т.е. данное поле на экране не отображается (Рис. 2.45).

Например: найти количество студентов 4 курса группы «а»:

 
 


Рис. 2.45 Применение условий в групповых операциях

Если в итоговых запросах надо создать математическое выражение, то вместо групповых операций в нужном поле надо выбрать элемент «Выражение».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: