В этой статье описано, как подсчитать данные, возвращаемые запросом. Например, в форме или отчете можно подсчитать количество элементов в одном или нескольких полях таблицы или элементах управления. Вы также можете вычислять средние значения, находить наибольшее и наименьшее значения, самую давнюю и самую последнюю дату. Кроме того, в Access предусмотрено средство, называемое строкой итогов, с помощью которого можно подсчитывать данные в таблице, не изменяя структуру запроса.
Выберите нужное действие
-
Способы подсчета данных
-
Подсчет данных с помощью строки итогов
-
Подсчет данных с помощью итогового запроса
-
Справочные сведения об агрегатных функциях
Способы подсчета данных
Подсчитать количество элементов в поле (столбце значений) можно с помощью функции Число. Функция Число принадлежит к ряду функций, называемых агрегатными. Агрегатные функции выполняют вычисления со столбцами данных и возвращают единственное значение. Кроме функции Число, в Access есть следующие агрегатные функции:
-
Сумма для суммирования столбцов чисел;
-
Среднее для вычисления среднего значения в столбце чисел;
-
Максимум для нахождения наибольшего значения в поле;
-
Минимум для нахождения наименьшего значения в поле;
-
Стандартное отклонение для оценки разброса значений относительно среднего значения;
-
Дисперсия для вычисления статистической дисперсии всех значений в столбце.
В Access предусмотрено два способа добавления функции Count и других агрегатных функций в запрос. Вы можете:
-
Открыть запрос в режиме таблицы и добавить строку итогов. Строка итогов позволяет использовать агрегатные функции в одном или нескольких столбцах в результатах запроса без необходимости изменять его структуру.
-
Создать итоговый запрос. В итоговом запросе вычисляются промежуточные итоги по группам записей. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж. С другой стороны, с помощью строки итогов можно вычислить общий итог для одного или нескольких столбцов (полей) данных.
Примечание: Ниже в разделах этой статьи подробно описано применение функции Сумма, однако следует помнить, что вы можете использовать другие агрегатные функции в строках итогов и запросах. Дополнительные сведения об использовании других агрегатных функций см. ниже в разделе Справочные сведения об агрегатных функциях.
Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.
В следующих разделах описаны шаги, которые следует выполнить, чтобы добавить строку итогов, а также описывается использование итогового запроса для подсчета данных. Следует обратить внимание на то, что функция Число работает с большим числом типов данных, чем другие агрегатные функции. Функцию Число можно использовать для любого типа полей, кроме тех, которые содержат сложные повторяющиеся скалярные данные, например поле с многозначными списками.
С другой стороны, многие агрегатные функции работают только с данными в полях, имеющих определенный тип данных. Например, функция Сумма работает только с типами данных «Число», «Действительное» и «Денежный». Дополнительные сведения о типах данных, требуемых для каждой функции, см. ниже в разделе Справочные сведения об агрегатных функциях.
Общие сведения о типах данных см. в статье Изменение типа данных для поля.
К началу страницы
Подсчет данных с помощью строки итогов
Чтобы добавить в запрос строку итогов, откройте его в режиме таблицы, добавьте строку, а затем выберите функцию Число или другую агрегатную функцию, например Сумма, Минимум, Максимум или Среднее. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов.
Создание простого запроса на выборку
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку «Закрыть».
Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов. На рисунке показана типичная таблица в конструкторе запросов.
-
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
Вы можете включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее подсчитываемые значения.
Каждое поле отображается в столбце в бланке запроса.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
-
При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Конструктор. После этого можно изменить запрос, добавив или удалив поля таблицы. Чтобы удалить поле, выберите столбец в бланке запроса и нажмите клавишу DELETE.
-
При необходимости вы можете сохранить запрос.
Добавление строки итогов
-
Откройте запрос в режиме таблицы. Если база данных имеет формат ACCDB, щелкните правой кнопкой мыши вкладку документа для запроса и выберите команду Режим таблицы.
-или-
Если используется база данных в формате MDB, созданная в более ранней версии Access, на вкладке Главная в группе Режимы щелкните стрелку под кнопкой Режим и выберите значение Режим таблицы.
-или-
Дважды щелкните запрос в области навигации. Запрос будет выполнен, а его результаты будут загружены в таблицу.
-
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Под последней строкой данных в таблице появится новая строка Итог.
-
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
Скрытие строки итогов
-
На вкладке Главная в группе Записи нажмите кнопку Итоги.
Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.
К началу страницы
Подсчет данных с помощью итогового запроса
Когда нужно подсчитать некоторые или все записи, возвращаемые запросом, то вместо строки итогов можно воспользоваться итоговым запросом. Например, вы можете подсчитать общее число сделок или число сделок в отдельном городе.
Как правило, итоговый запрос применяется вместо строки итогов тогда, когда требуется использовать значение результата в другой части базы данных, например в отчете.
Подсчет всех записей в запросе
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицу, которую вы хотите использовать в запросе, и нажмите кнопку «Закрыть».
Таблица появится в окне в верхней части конструктора запросов.
-
Дважды щелкните поля, которые вы хотите использовать в запросе, и убедитесь, что включено поле, количество в которое нужно подсчитать. Можно подсчитать поля большинства типов данных, за исключением полей, содержащих сложные повторяющиеся скалярные данные, такие как поле многомерных списков.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
-
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
-
При необходимости вы можете сохранить запрос.
Подсчет записей в группе или категории
-
На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.
-
Дважды щелкните таблицу или таблицы, которые вы хотите использовать в запросе, а затем нажмите кнопку «Закрыть».
Таблица (или таблицы) появится в окне в верхней части конструктора запросов.
-
Дважды щелкните поле, содержащее данные категории, а также поле, значения в котором вы хотите подсчитать. Запрос не может содержать других описательных полей.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
-
В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
-
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Результаты запроса отображаются в режиме таблицы.
-
При необходимости вы можете сохранить запрос.
К началу страницы
Справочные сведения об агрегатных функциях
В следующей таблице перечислены и отписаны агрегатные функции Access, которые можно использовать в строке итогов и в запросах. Помните, что в Access предусмотрено больше агрегатных функций для запросов, чем для строки итогов. Кроме того, при работе с проектом Access (внешней базой данных Access, которая подключается к базе данных Microsoft SQL Server) можно использовать расширенный набор агрегатных функций, предоставляемый SQL Server. Дополнительные сведения о них см. в электронной документации Microsoft SQL Server.
Функция |
Описание |
Поддерживаемые типы данных |
Сумма |
Суммирует элементы в столбце. Подходит только для числовых и денежных данных. |
«Число», «Действительное», «Денежный» |
Среднее |
Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения. |
«Число», «Действительное», «Денежный», «Дата/время» |
Число |
Подсчитывает число элементов в столбце. |
Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков. Дополнительные сведения о списках, которые могут быть многоценными, см. в руководстве по полям, которые могут быть многоценными, а также к созданию или удалите многофаентное поле. |
Максимум |
Возвращает элемент, имеющий наибольшее значение. Для текстовых данных наибольшим будет последнее по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. |
«Число», «Действительное», «Денежный», «Дата/время» |
Минимум |
Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наименьшим будет первое по алфавиту значение, причем Access не учитывает регистр. Функция игнорирует пустые значения. |
«Число», «Действительное», «Денежный», «Дата/время» |
Стандартное отклонение |
Показывает, насколько значения отклоняются от среднего. Дополнительные сведения об этой функции см. в статье Отображение итогов по столбцу в таблице. |
«Число», «Действительное», «Денежный» |
Дисперсия |
Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает пустое значение. Дополнительные сведения о функциях для расчета дисперсии см. в разделе Отображение итогов по столбцу в таблице. |
«Число», «Действительное», «Денежный» |
К началу страницы
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
1. Exp() function :
In MS Access, the Exp() function returns e( 2.718281) power raised to a number. In this function, a number will be pass as a parameter and it will return e raised to the power of a specified number.e is a constant which value is equal to 2.718281. It is the base of natural logarithms.
Syntax :
Exp(number)
Example-1 :
SELECT Exp(6) AS ExpNum;
Output –
Example-2 :
SELECT Exp(1) AS ExpNum;
Output –
2. Count() function :
In MS Access, The Count() function returns the total number of eligible records of a query. When a query expression is performed with the help of count function then it will count total records and return that total count number.
Note –
Null values will not be included in the count.
Syntax :
Count(expression)
Consider an example for Demo Database given below.
Table name : Stu_Details.
TEST_ID | USER_ID | MARKS |
101 | GFG_1 | 67 |
102 | GFG_2 | 89 |
103 | GFG_3 | 35 |
Example-1 :
SELECT Count(*) AS TOTAL FROM Stu_Details;
Output –
Example-2 :
SELECT Count(*) AS TOTAL FROM Stu_Details Where MARKS>50;
Output –
Last Updated :
01 Sep, 2020
Like Article
Save Article
Особенности функции COUNT
Агрегатные функции.
Итоговые запросы на чтение
Итоговые запросы на чтение позволяют получить промежуточные или окончательные итоги (статистическую информацию) по содержащимся в базе данных значениям. Итоговые запросы необходимо использовать, когда требуемой информации в базе данных в явной виде нет, и ее необходимо вычислить.
Для подведения итогов по информации, содержащейся в базе данных, в SQL предусмотрены агрегатные (статистические) функции.
Агрегатами называют группы строк, следовательно, агрегатными функциями называют функции, аргументами которых являются группы строк.
Агрегаты могут представлять собой все строки таблицы или группы строк, созданные предложением GROUP BY (будет рассмотрено в п.13.7.2).
Агрегатная функция получает в качестве аргумента выражение, содержащее, по крайней мере, один столбец таблицы, а в качестве результата возвращает одно значение. Таким образом, агрегатные функции позволяют выполнять операции над значениями сразу целого столбца таблицы или нескольких таблиц.
В SQL имеется пять стандартных агрегатных функций: SUM, AVG, MIN, MAX, COUNT.
SUM( ) вычисляет сумму всех значений в выражении;
AVG( ) вычисляет среднее всех значений в выражении;
MIN( ) находит наименьшее среди всех значений в выражении;
MAX( ) находит наибольшее среди всех значений в выражении;
COUNT( ) подсчитывает количество значений в выражении.
В качестве выражения чаще всего выступает имя столбца таблицы.
Функция COUNT(*) подсчитывает количество строк (т.е. учитывает и NULL).
Функция COUNT(DISTINCT ) подсчитывает количество разных значений в выражении.
Примечание 1.В Microsoft Access конструкция COUNT(DISTINCT ) не работает. Данная проблема решается применением вложенного запроса в предложении FROM.
Ограничения на использование агрегатных функций:
— агрегатные функции нельзя использовать в предложении WHERE (оно работает для одной строки, а не для агрегата);
— агрегатные функции нельзя вкладывать друг в друга (при необходимости можно использовать вложенные запросы);
— в предложении SELECT нельзя одновременно использоваться агрегатные функции и обычные имена столбцов (если только по этим столбцам не указана группировка GROUP BY)
Примечание 2.В предложении SELECT возвращаемым столбцам, в которых используются агрегатные функции, рекомендуется присваивать псевдонимы.
Пример 29. Вычислить суммарную стоимость всех вызовов.
Пример 30. Вычислить средний возраст для контактов.
Пример 31. Вычислить минимальную и максимальную длительность исходящих вызовов.
SELECT MIN(DLIT), MAX(DLIT)
FROM VYZOVY V, TIPY_VYZ T
WHERE (V.TIP_ID=T.ID) AND (T.NAZV=’Исходящий’)
Пример 32. Вывести дату и время самого первого вызова.
Пример 33. Вычислить количество контактов старше 30 лет.
Пример 34. Вычислить количество мелодий, уже назначенных для какого-либо контакта.
IT IS MY LIFE…
Уверен, кому-то приведенная здесь задача покажется простой, ну а для тех, кто как я пользуется MS Access от случая к случаю, может и пригодиться.
Имеется два столбца. Данные могут повторяться как в первом, так и во втором столбце, также могут повторяться пары значений первого и второго столбца. Требуется выяснить может ли в рамках одного значения первого столбца быть несколько разных значений из второго столбца .
В первом столбце буквы (letter), во втором — цифры (number). Теперь разберемся есть ли случаи, когда одной и той же букве соответствует два и больше разных значений цифр.
Затем необходимо перейти в режим SQL-запросов и после SELECT указать оператор DISTINCT должно получиться вот так:
Далее приступаем к формированию запроса для подсчета числа строк с одинаковым значением в первом столбце, а так как на предыдущем шаге мы удалили дубли, то суммарное действие первого и второго запросов даст ответ на поставленную задачу — может ли в рамках одного значения первого столбца быть несколько разных значений из второго столбца. Для этого в конструкторе запросов берем первый запрос и выбираем оба столбца для вывода:
В контекстном меню выбираем Итоги :
Делаем группировку по первому столбцу, подсчет ( Count ) по второму и для второго же столбца в качестве условия отбора ставим «больше единицы»:
Запускаем запрос и получаем решение задачи:
Т.е. в нашем примере для BBB и CCC есть два различных значения во втором столбце. Если бы у нас была потребность определить разные значения какого-либо параметра не в рамках значений какого-то одного столбца, а в рамках группы значений разных столбцов, то, соответственно, группировку следовало бы указать для всех этих столбцов, а Count, как и в данном примере, только для подсчитываемого параметра.
В общем-то на этом все. Можно еще вывести информацию о том, какие именно разные значения второго столбца соответствуют BBB и CCC . Объединяем последний запрос с исходной таблицей:
Итоговый запрос из базы данных Access
Запросы позволяют не только выбирать записи из таблиц Access, но и вычислять различные статистические параметры. Например, можно подсчитать суммарное количество контактов и вывести даты первого и последнего контакта с каждым из людей, включенных в таблицу Контакты. Чтобы построить такой запрос в режиме конструктора, выполните следующие действия.
1. В окне базы данных щелкните на кнопке Запросы.
2. Дважды щелкните на значке Создание запроса в режиме конструктора.
3. В открывшемся окне диалога (рис. 17.6) выделите строку Контакты.
4. Щелчком на кнопке Добавить добавьте выбранную таблицу в верхнюю область конструктора запроса.
5. Выделите пункт Список и снова щелкните на кнопке Добавить.
6. Щелчком на кнопке Закрыть закройте окно диалога Добавление таблицы. Списки полей двух таблиц, соединенные линией связи, появятся в окне конструктора.
7. Щелкните на кнопке Групповые операции панели инструментов. В бланке запроса появится дополнительная строка Групповая операция, позволяющая выполнять статистические операции со значениями конкретных полей.
Рис. 17.6 . Добавление таблицы
8. Перетащите поле Фамилия в ячейку Поле первого столбца конструктора.
9. В ту же ячейку второго столбца перетащите поле Имя таблицы Контакты.
10. В третий, четвертый и пятый столбцы бланка запроса перетащите поле Дата таблицы Список (рис. 17.7).
Рис. 17.7. Запрос с групповыми операциями
11. В раскрывающемся списке ячейки Групповая операция третьего столб ца бланка запроса выберите пункт Min.
12. В той же ячейке четвертого столбца выберите пункт Мах.
13. В пятом столбце задайте групповую операцию Count. Групповые операции построенного запроса обработают все записи таблицы Список, соответствующие конкретному человеку из таблицы Контакты, и вместо самих данных таблицы Список выведут в соответствующее поле результата запроса только значение величины, вычисляемой по определенной формуле. Доступные групповые операции перечислены в табл. 17.1.
ТАБЛИЦА 17.1 . Групповые операции
Примечание Поскольку в пятом поле запроса вычисляется количество записей, в ячейку Поле этого столбца можно поместить любое поле таблицы Список.
14. Щелкните на кнопке Вид, чтобы выполнить запрос. Появится таблица с пятью столбцами. Два первых столбца содержат фамилии и имена людей. По ним выполняется группировка, то есть расчет значений остальных полей запроса выполняется для записей таблицы Список, сопоставляемых с одним человеком. Как уже говорилось выше, соответствие контакта таблицы Список и человека из таблицы Контакты определяется полями Код_Контакты, с помощью которых осуществляется связь этих двух таблиц. Третий и четвертый столбцы запроса выводят соответственно дату первого (функция Min) и последнего (функция Мах) контакта с данным человеком. Пятый столбец содержит количество записей в таблице Список (функция Count), соответствующих. данному человеку, то есть число контактов с ним. Единственный недостаток построенного запроса — это непонятные имена столбцов. Давайте скорректируем их.
15. Щелчком на кнопке Вид вернитесь в конструктор запроса.
16. В ячейке Поле третьего столбца замените имя Дата на текст Дата первого контакта: Дата. Правая часть этого выражения, расположенная правее двоеточия, по-прежнему задает имя поля, а левая определяет название столбца результата запроса. Таким образом, любому столбцу запроса можно назначить произвольное имя.
17. В ячейке Поле четвертого столбца введите Дата последнего контакта: Дата.
18. В первой строке пятого столбца бланка запроса введите Число контактов: Дата.
Примечание К сожалению, подобный прием не подходит для смены названия поля, значение которого не вычисляется, а передается из таблицы. То есть таким способом не удастся переименовать поле Имя.
19. Снова щелкните на кнопке Вид.
20. Закройте запрос.
21. Для сохранения изменений структуры щелкните на кнопке Да.
22. В окне диалога Сохранение введите имя Итоговый запрос и щелкните на кнопке ОК.
Особенности функции COUNT. — понятие и виды. Классификация и особенности категории «Особенности функции COUNT.» 2017, 2018.
Читайте также
Рис 4.4. Пример иерархической структуры работ для элементов оборонного Комплекса Рис .4.3 Пример иерархической структуры работ, организованной по фазам DEF: Контрольный счет — это регистр, на котором хранится бюджетный резерв для исполнения пакета работ. В новой. [читать подробнее].
Дополнительный список литературы Литература DeGolyer E., Vance H., Bibliography of the Petroleum Industry, Bull. 83, A. and. M. College of Texas, College Station, Texas, 725 p., 1944. Dunbar С. Р., Dunbar L., A Selected List of Periodicals, Serials, and Books Dealing with Petroleum and Allied Subjects, Department of Conservation, New Orleans, Louisiana, 218, p., 1939. Economic Geology Publishing Company, Urbana, Illinois. [читать подробнее].
Our country has always paid great attention to the education of petroleum engineers. Soon after the October Revolution in September 1918 the Soviet Government published the Decree about the organization of the Moscow Mining Academy. Later in 1930 a separate petroleum institute singled out from this Academy and we call this institute the Russian State Gubkin University of Oil and Gas. Since that time the level of petroleum education has grown manyfold. At present the system of petroleum. [читать подробнее].
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Кафедра иностранных языков УЧЕБНИК АНГЛИЙСКОГО ЯЗЫКА ПО ШИРОКОМУ ПРОФИЛЮ НЕФТЯНОГО ВУЗА Уфа 2012 Учебное пособие состоит из 16 уроков. Каждый урок включает активный словарь, лексические, грамматические. [читать подробнее].
The history of petroleum engineering education in our country is inseparable from the history of the foundation and development of its oil and gas industries. In tsarist Russia the petroleum industry was concentrated almost exclusively in the Caucasus. On July 2, 1918 head of the government signed the decree on the oil industry nationalization (they didn`t produce gaseous raw materials in Russia and there was no gas industry there before the revolution). But during the hard times of the Civil. [читать подробнее].
1. Модель. 2. Требования к информации. 3. Сбор информации. 4. Активация модели и интерпретация результатов. 5. Представление результатов модели. G = Д-З Gпр = Д(В)пр – Зпр – продуктовая прибыль МД – маржинальный доход. МД = В – Зпеременые, (В – выручка, З-затраты) Модель. [читать подробнее].
1. Do you total the accounts at the end of the fiscal year? 2. What are your usual activities at the end of the fiscal year? 3. When do you prepare a financial statement? 4. Why should you have more assets than liabilities? 5. Does the accounting department work on taxes? 6. What is the difference between your gross salary and net salary? 7. Is the difference between gross salary and net salary big in this country? What does this difference depend on? Exercise 3. Make up the. [читать подробнее].
Подведение итогов по данным запроса В ходе этого урока мы рассмотрим те функции SQL, которые предназначены для подведения итогов. С их помощью можно осуществлять достаточно широкий спектр математических операций с данными. Основными на этом уроке будут следующие. [читать подробнее].
Стоимость: 300 Это небольшое полезное устройство не только отображает количество рад, находящееся в человеке, но и замеряет радиационный фон окружающей среды. Бывает полезным, когда надо узнать, опасен ли громадный светящийся кратер впереди. Вес: 5 фнт . [читать подробнее].
Как только сформирован установочный набор, начинается процесс отсчета. Отсчет отображает соотношение между ценой закрытия и максимальной или минимальной ценой два торговых дня тому назад, в зависимости от того, какой установочный набор является активным — набор на. [читать подробнее].
This MSAccess tutorial explains how to use the Access Count function with syntax and examples.
Description
The Microsoft Access Count function returns the number of records in a select query.
Syntax
The syntax for the Count function in MS Access is:
Count( expression )
Parameters or Arguments
- expression
- A field or any string expression.
Returns
The Count function returns a numeric value.
Applies To
The Count function can be used in the following versions of Microsoft Access:
- Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000
Example in SQL/Queries
You can use the Count function in a query by clicking on the Totals button in the toolbar (This is the button with the summation symbol). The Count function is used in conjunction with the Group By clause.
For example:
This query would return the number of records for each ProductName. You can actually substitute any field with the Count function and it will return the same count result. In this case, we’ve used the SupplierID field to determine the number of records for each ProductName.
• DateDiff («d»; [ДатаРазмещения]; [ДатаОтправки] ) − отображение количества дней между датами в полях «ДатаРазмещения» и «ДатаОтправки».
Итоговый запрос – это запрос, в котором выводятся результаты статистических расчетов по какой-либо группе записей из одной или нескольких таблиц. Можно находить сумму (функция Sum), среднее значение (функция Avg), наибольшее значение (функция Max) или наименьшее значение (функция Min), количество знаний в группе (функция Count).
Процедура создания итогового запроса похожа на процедуру создания запроса на выборку. При выполнении такого запроса требуется группировать записи по совпадающим значениям в каком-либо поле таблицы. Для выполнения
группировки записей нужно щелкнуть по кнопке Групповые операции на панели инструментов. В бланке запроса по образцу появляется дополнительная строка «Групповая операция». В тех полях, по которым проводится группировка, надо установить в строке «Групповая операция» значение Группировка. В тех полях, где проводится итоговые операции, нужно в строке «Групповая операция» раскрыть список и выбрать одну из функций (Sum, Avg, Max, Min,
Count и т.д.)
Например, можно создать запрос для определения средней, наибольшей и наименьшей оценки для каждого студента, как показано на рисунке 11.
Рисунок 11 − Результат выполнения итогового запроса
В этом случае следует задать группировку по полам «Фамилия», «Имя» и «Номер группы» и выбрать соответствующие функции в поле «Оценка», включив это поле в бланк запроса трижды (рисунок 12).
28
Рисунок 12 − Создание итогового запроса
4.4 Перекрестные запросы
Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк.
Для расчета итоговых вычислений используют стандартные итоговые функции, например:
• Sum − сумма значений некоторого поля для группы;
• Avg − среднее от всех значений поля в группе;
• Max, Min − максимальное, минимальное значение поля в группе;
• Count − число значений поля в группе без учета пустых значений.
Создание перекрестного запроса с помощью мастера
1 а) В среде Microsoft Access 2003: в окне базы данных нажать кнопку Запросы на панели «Объекты», а затем нажать кнопку Создать на панели инструментов окна базы данных. В диалоговом окне «Новый запрос» выбрать в списке строку «Перекрестный запрос» и нажать кнопку OK;
б) в среде Microsoft Access 2007: в панели инструментов на вкладке «Создание» в группе «Другие» щелкнуть Мастер запросов. В диалоговом окне «Новый запрос» выбрать вариант «Перекрестный запрос» и нажать кнопку
ОК.
2 Выбрать таблицу или запрос, поля которых будут использоваться в перекрестном запросе. Нажать кнопку Далее.
3 Выбрать поля, значения которых будут использованы в качестве заголовков строк. Нажать кнопку Далее.
4 Выбрать поля, значения которых будут использованы в качестве заголовков столбцов. Нажать кнопку Далее.
5 Выбрать поле, значения которого будут выводиться на пересечении строк и столбцов. Выбрать среди приведенных функций вид вычисления.
29
6 Если не требуется вычислять и выводить итоговое значение для каждой строки запроса, то следует снять флажок с соответствующей опции. Нажать кнопку Далее.
7 Ввести имя для запроса и нажать кнопку Готово.
Если получился не тот запрос, который был нужен, можно снова создать запрос с помощью мастера или изменить этот запрос в режиме конструктора.
Создание перекрестного запроса с помощью конструктора запросов
1 а) В среде Microsoft Access 2003: в окне базы данных нажать кнопку Запросы на панели «Объекты», а затем нажать кнопку Создать на панели инструментов окна базы данных. В диалоговом окне «Новый запрос» выбрать в списке строку «Конструктор» и нажать кнопку OK;
б) в среде Microsoft Access 2007: в панели инструментов на вкладке «Создание» в группе «Другие» щелкнуть Конструктор запросов.
2 В окне «Добавление таблицы» выбрать вкладку, содержащую объекты, данные из которых будут использованы в запросе.
3 Дважды щелкнуть объекты, которые нужно добавить в запрос, а затем нажать кнопку Закрыть.
4 Добить поля в строку «Поле» в бланке запроса и задать условия отбора.
5 а) В среде Microsoft Access 2003: на панели инструментов нажать кнопку Тип
запроса и выбрать Перекрестный;
б) в среде Microsoft Access 2007: в панели инструментов на вкладке «Конструктор» в группе «Тип запроса» щелкнуть Перекрестный.
6 Для поля или полей, значения которых должны быть представлены в виде заголовков строк, щелкнуть ячейку строки «Перекрестная таблица» и выбрать значение «Заголовки строк». Для таких полей нужно оставить в строке «Групповая операция» значение Группировка, установленное по умолчанию. Значение Заголовки столбцов можно задать только для одного поля.
7 Для поля, значения которого нужно использовать при создании перекрестной таблицы, щелкнуть ячейку строки «Перекрестная таблица» и выбрать пункт Значение. Пункт Значение можно выбрать только для одного поля.
8 В строке «Групповая операция» выбрать статистическую функцию, которая будет использована для заполнения перекрестной таблицы (например Sum, Avg или Count).
9 Выполните одно из следующих действий:
а) для задания условия отбора, ограничивающего отбираемые заголовки строк до выполнения вычисления ввести выражение в строку «Условие отбора» поля, для которого в ячейке строки «Перекрестная таблица» выбрано значение Заголовки строк. Например, можно вывести итоговые суммы продаж для некоторых категорий товаров, таких как мясные или рыбные продукты. б) для задания условия отбора, ограничивающего отбираемые записи до группировки заголовков строк и до заполнения перекрестной таблицы:
•добавить поле, для которого необходимо установить условие отбора, в бланк запроса;
•выбрать значение Условие в ячейке строки «Групповая операция»;
30
• оставить ячейку в строке «Перекрестная таблица» пустой.
Ввести выражение в ячейку строки «Условие отбора». Поля, имеющие значение Условие в строке «Групповая операция», не выводятся в результатах запроса.
10 а) В среде Microsoft Access 2003: чтобы просмотреть результаты запроса, нажать кнопку Запуск на панели инструментов или выбрать команду Запрос / Запуск, или переключиться в режим таблицы с помощью кнопки Вид на панели инструментов;
б) в среде Microsoft Access 2007: чтобы просмотреть результаты запроса, в панели инструментов на вкладке «Конструктор» в группе «Результаты» нажать кнопку Выполнить или переключиться в режим таблицы с помощью кнопки Режим в группе «Результаты» вкладки «Конструктор».
Рассмотрим пример создания перекрестного запроса к базе данных «Деканат» с помощью конструктора. Пусть нужно получить средние оценки по изучаемым дисциплинам для каждой из групп. Структура перекрестного запроса в режиме конструктора представлена на рисунке 13.
Рисунок 13 – Структура перекрестного запроса «Средние оценки по группам»
Результат выполнения перекрестного запроса представлен на рисунке 14.
Рисунок 14 – Результат выполнения перекрестного запроса
Если необходимо при вычислении среднего нужно учитывать только положительные оценки («3», «4» и «5»), то в структуру запроса нужно добавить условие отбора (рисунки 15 и 16).
31