В этой статье объясняется, как использовать запрос на набор значений в Access для поиска максимального или минимального значения в наборе записей. Запросы на набор значений используются для ответа на различные деловые вопросы, например о том, какой товар продается хорошо, а какой плохо.
Выберите нужное действие
-
Общие сведения о запросах на набор значений
-
Поиск записей, содержащих наибольшие или наименьшие значения
-
Поиск записей, содержащих наибольшие или наименьшие значения, в группах или категориях
-
Поиск записей, содержащих наибольшие и наименьшие значения
Общие сведения о запросах на набор значений
Запрос на набор значений используется для поиска записей, содержащих наибольшие или наименьшие значения в поле таблицы. Вы можете использовать такие запрос для получения ответов на следующие типы вопросов:
-
Какой товар является наиболее дорогим или наиболее дешевым?
-
У каких трех сотрудников в ближайшее время будет день рождения?
-
Какие отделы лидируют или отстают по продажам в этом году?
-
Какие 5 процентов товаров хуже всего или лучше всего продаются?
-
Какие 5 процентов товаров в каждой из категорий лучше или хуже всего продаются?
Коротко говоря, запрос на набор значений сортирует данные, затем фильтрует их и возвращает наибольшие или наименьшие значения в поле. Вы можете использовать его поиска числовых (в том числе денежных) значений и значений даты.
Создание запроса на набор значений включает следующие основные этапы:
-
Создание запроса на выборку или итогового запроса.
Запрос на выборку используется для поиска наибольших или наименьших значений в таблице. Итоговый запрос позволяет найти наибольшие или наименьшие значения в одной или нескольких категориях. Например, если вам нужен ответ на вопрос «Какой товар самый дорогой или самый дешевый?», то следует начать с создания запроса на выборку. Чтобы ответить на вопрос «Какие пять процентов товаров в каждой из категорий лучше или хуже всего продаются?», используйте итоговый запрос. Кроме того, вы можете использовать любой из них для поиска наибольших или наименьших значений в группе или категории записей.
-
Сортировка запроса.
-
Применение к запросу других условий.
-
Задание числа записей, которые должен возвращать запрос. Вы можете указать процент, например первые 5 процентов значений в поле, или конкретное число, например первые 10 значений в поле.
Выбор между запросом на набор значений и фильтром
Чтобы определить, стоит ли создавать запрос на набор значений или же следует применить фильтр, примите во внимание следующее:
-
Если вы хотите отобрать записи, содержащие наибольшие или наименьшие значения в поле, но точные максимальные и минимальные значения поля не известны или не имеют значения, то следует создать запрос на набор значений.
-
Если вы хотите отобрать все записи, в которых значения поля равны нужному значению либо больше или меньше его, то следует применить фильтр. Например, чтобы отобрать товары с ценой от 50 до 100 ₽, лучше применить фильтр. На рисунке показаны пример фильтра в Конструкторе с запросом и результаты его применения:
Дополнительные сведения о создании и использовании фильтров см. в статье «Применение фильтра для просмотра отдельных записей в базе данных Access».
Правила создания и использования запросов на набор значений
Помните, что независимо от типа запроса (запрос на выборку или итоговый запрос) необходимо использовать поля, содержащие описательные данные, такие как имена сотрудников или наименования товаров, и поле, содержащее наибольшие или наименьшие значения, которые вы хотите найти, например поле цены или даты. Вы можете использовать несколько полей данных, и, если используется итоговый запрос, поля данных обычно должны включать информацию о категории, такую как поле города или страны и региона. Данные о категории можно опустить только при создании итогового запроса по всем записям, например запроса, который выводит первые пять процентов самых дорогих заказов. Кроме того, вы можете использовать запросы обоих типов для поиска наибольших или наименьших значений в группе или категории записей. Дополнительные сведения о том, как это делать, см. в разделе Поиск записей, содержащих наибольшие или наименьшие значения, в группах или категориях далее в этой статье.
Поиск записей, содержащих наибольшие или наименьшие значения
В этом разделе объясняется, как создавать простые и более сложные запросы на набор значений. Сначала описаны основные составляющие запроса на набор значений, а затем показывается, как найти ближайшие дни рождения сотрудников. В качестве примера используется следующая таблица:
Фамилия |
Имя |
Адрес |
Город |
Страна или регион |
Дата рождения |
Дата приема на работу |
Авдеев |
Григорий |
Загородное шоссе, д. 150 |
Москва |
РФ |
05-фев-1968 |
10-июн-1994 |
Кузнецов |
Артем |
ул. Гарибальди, д. 170 |
Пермь |
РФ |
22-май-1957 |
22-ноя-1996 |
Дегтярев |
Дмитрий |
ул. Кедрова, д. 54 |
Красноярск |
РФ |
11-ноя-1960 |
11-мар-2000 |
Зуева |
Ольга |
ул. Губкина, д. 233 |
Тверь |
РФ |
22-мар-1964 |
22-июн-1998 |
Белых |
Николай |
пл. Хо Ши Мина, д. 15, кв. 5 |
Москва |
РФ |
05-июн-1972 |
05-янв-2002 |
Комарова |
Лина |
ул. Ляпунова, д. 70, кв. 16 |
Красноярск |
РФ |
23-янв-1970 |
23-апр-1999 |
Зайцев |
Сергей |
ул. Строителей, д. 150, кв. 78 |
Омск |
РФ |
14-апр-1964 |
14-окт-2004 |
Ермолаева |
Анна |
ул. Вавилова, д. 151, кв. 8 |
Иркутск |
РФ |
29-окт-1959 |
29-мар-1997 |
Зуева |
Ольга |
ул. Губкина, д. 233 |
Тверь |
РФ |
22-мар-1964 |
20-июн-1998 |
При этом можно ввести данные из примера вручную или скопировать ее в программу для работы с электронными таблицами, например в Microsoft Excel, а затем импортировать полученный Access.
Примечание: Если у вас нет редактора электронных таблиц, вы можете скопировать пример данных в текстовый редактор, например Блокнот. Дополнительные сведения об импорте текстовых данных см. в статье Импорт данных или связывание с данными текстового файла.
Создание простого запроса на набор значений
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Щелкните таблицу, которую вы хотите использовать в запросе, нажмите кнопку «Добавить», чтобы разместить таблицу в сетке конструктора, а затем нажмите кнопку «Закрыть».
-или-
Дважды щелкните таблицу.
Если вы используете пример данных, добавьте в запрос таблицу «Сотрудники». -
Добавьте на бланк поля, которые вы хотите использовать в запросе. Вы можете дважды щелкнуть каждое поле или перетащить его в пустую ячейку в строке Поле.
Если вы работаете с примером таблицы, то добавьте поля «Фамилия», «Имя» и «Дата рождения». -
В поле, содержащем наибольшие и наименьшие значения (в нашем примере — поле «Дата рождения»), щелкните строку Сортировка и выберите По возрастанию или По убыванию.
Если поля значений содержат числа, например цены или объемы продаж, то порядок сортировки По возрастанию возвращает наименьшие значения, а порядок сортировки По убыванию — наибольшие значения. Если поля значений содержат даты, то порядок сортировки По убыванию возвращает самую последнюю дату, а порядок сортировки По возрастанию — самую раннюю дату.Важно: Необходимо указать в строке Сортировка значение По возрастанию или По убыванию только для полей, в которых вы ищете наибольшие и наименьшие значения. Если задать порядок сортировки для другого поля (например, поля «НазваниеТовара» вместо поля «Цена»), запрос не будет возвращать требуемые результаты.
-
На вкладке «Конструктор» в группе «Настройка запроса» щелкните стрелку вниз рядом с кнопкой «Вернуться» (список «Лучшие значения») и введите число или процент записей, которые вы хотите отобрать, или выберите один из вариантов из списка.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить.
-
Сохраните запрос и оставьте его открытым, чтобы использовать на следующих шагах.
Как вы видите, этот тип запросов на набор значений дает ответы на основные вопросы, например «Кто из сотрудников самый старший или самый молодой?». Ниже описано, как с помощью выражений и других условий создавать более точные и гибкие запросы. Запрос по описанным ниже условиям выдает ближайшие дни рождения у трех сотрудников.
Добавление условий в запрос
Примечание: В этих инструкциях предполагается, что вы используете запрос, описанный в предыдущем разделе.
-
Откройте запрос, созданный на предыдущих шагах, в Конструкторе.
-
В бланке запроса в столбце справа от столбца «Дата рождения»» скопируйте и вставьте или введите выражение Expr1: DatePart(«m»; [Дата рождения]). Функция DatePart извлекает месяц из значения в поле «Дата рождения».
-
Справа от столбца, содержащего выражение, скопируйте и вставьте или введите выражение Expr2: DatePart(«d»; [Дата рождения]). В этом случае функция DatePart извлекает день из значения в поле «Дата рождения».
-
В строке Показать снимите флажки для всех выражений, а затем щелкните ячейку Сортировка для каждого выражения и выберите порядок По возрастанию.
-
При необходимости вы можете указать условия для ограничения области запроса. При задании условий запрос сортирует только записи, отвечающие им, и определяет наибольшие или наименьшие значения в отсортированном списке.
В приведенном примере введите или скопируйте и вставьте в строку Условия отбора поля «Дата рождения» следующее выражение:Month([Дата рождения]) > Month(Date()) Or Month([Дата рождения])= Month(Date()) And Day([Дата рождения])>Day(Date())
Это выражение делает следующее: Month([BirthDate]) > Month(Date()) проверяет дату рождения каждого сотрудника, чтобы узнать, приходится ли она на следующий месяц, и, если это так, включает эти записи в запрос. Часть Month([BirthDate])= Month(Date()) And Day([BirthDate])>Day(Date()) в выражении проверяет даты рождения, которые происходят в текущем месяце, чтобы узнать, приходится ли дата рождения на текущую дату или после нее. Если это условие истинно, функция включает эти записи в результаты запроса. В данном выражении не учитываться все записи, в которых дата рождения приходится на период с 1 января до даты выполнения запроса.
Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса.
-
На вкладке «Конструктор» в группе «Настройка запроса» щелкните стрелку вниз рядом с кнопкой «Вернуться» (список «Лучшие значения») и введите число или процент записей, которые вы хотите отобрать, или выберите один из вариантов из списка.
-
Чтобы выполнить запрос и отобразить результаты в режиме таблицы, нажмите кнопку Выполнить.
Если запрос возвращает больше записей, чем ожидалось
Если в данных есть записи с одинаковым значением даты, запрос может возвращать больше записей, чем вы ожидали. Например, вы можете создать запрос на набор значений для получения записей о трех сотрудниках, но фактически будет отображено четыре, поскольку у Измайлова и Быкова дни рождения совпадают. Этот тип запроса возвращает все наибольшие значения независимо от того, сколько записей их содержат. Чтобы исключить повторяющиеся значения, можно задать значение Да для свойства Уникальные значения. Сведения об использовании этого свойства см. далее в разделе Если выводятся повторяющиеся записи.
Фамилия |
Дата рождения |
Жданов |
26.09.1968 |
Селезнев |
02.10.1970 |
Измайлов |
15.10.1965 |
Быков |
15.10.1969 |
Если запрос возвращает меньше записей, чем ожидалось
Предположим, что вы создали запрос, возвращающий наибольшие или наименьшие пять записей в поле, но фактически отображается только три. Как правило, чтобы решить эту проблему, нужно открыть запрос в Конструкторе, проверить строку Условия отбора в бланке запроса и найти условия, которые в большей степени ограничивают результаты запроса, чем это требуется. Дополнительные сведения об условиях см. в статье Примеры условий запроса.
Если выводятся повторяющиеся записи
Если запрос на набор значений возвращает повторяющиеся значения, то либо базовые таблицы содержат повторяющиеся записи, либо записи отображаются как одинаковые, потому что запрос не включает поля, значения которых позволяют их различить. Например, рассмотрим запрос, отображающий пять последних отгруженных заказов вместе с именем продавца, обрабатывавшего транзакцию.
Дата поставки |
Продавец |
12.11.2004 |
Иванов |
12.11.2004 |
Воронков |
12.10.2004 |
Попов |
12.10.2004 |
Попов |
12.10.2004 |
Иванов |
Третья и четвертая записи кажутся одинаковыми, но это может объясняться тем, что Попов обработал два различных заказа, отгруженных в один день.
Чтобы избежать отображения повторяющихся записей, можно выполнить одно из двух действий в зависимости от требуемого результата. Вы можете изменить структуру запроса, добавив поля, которые позволят различить записи, например поля «КодЗаказа» и «КодКлиента». Или, если достаточно показать только одну из повторяющихся записей, вы можете выбрать отображение только уникальных записей, задав значение Да для свойства запроса Уникальные значения. Чтобы настроить это свойство, в Конструкторе нажмите клавишу F4, чтобы отобразить страницу свойств запроса, найдите свойство Уникальные значения и установите для него значение Да.
Дополнительные сведения о работе с повторяюными записями см. в статье «Поиск повторяюных записей с помощью запроса».
К началу страницы
Поиск записей, содержащих наибольшие или наименьшие значения, в группах или категориях
Чтобы найти наибольшие и наименьшие значения для записей в группах, можно создать итоговый запрос. Помните, что по умолчанию итоговый запрос может включать только поле или поля, содержащие данные, по которым выполняется группировка, например поле «Категории», а также поля с наибольшими или наименьшими значениями, например поле «Цена». Итоговые запросы не могут включать другие поля, описывающие значения внутри категории. Однако вы можете создать второй запрос, включающий поля из итогового запроса и поля из других таблиц, содержащие описательные данные.
Например, предположим, что у вас есть таблица товаров, каждый из которых относится к определенной категории, такой как «Настольные игры», «Головоломки» и т. д. Если вы создаете итоговый запрос для определения наиболее дорогого товара в каждой категории, он может включать только поле или поля, содержащие данные о категории, и поле со сведениями о цене. В нашем примере это поля «Название категории» и «Цена». При выполнении такого типа запроса Access подставляет префиксы «Максимум_» или «Минимум_» (в зависимости от выбранной функции) в начало названия поля «Цена»:
Название категории |
Максимум_Цена |
Настольные игры |
55,00 ₽ |
Головоломки |
43,90 ₽ |
Компьютерные игры |
263,50 ₽ |
Куклы |
81,00 ₽ |
… |
… |
Итоговый запрос не может включать другие поля, служащие для описания товара (и упрощающие понимание данных), например названия товаров или названия фирм-поставщиков:
Название категории |
Максимум_Цена |
Наименование товара |
Поставщик |
Настольные игры |
55,00 ₽ |
Занимательный C++ |
Proseware, Inc. |
Головоломки |
43,90 ₽ |
Схема реляционной базы данных |
Lucerne Publishing |
Компьютерные игры |
263,50 ₽ |
Компьютерные маньяки и мифические животные |
Корпорация «Софт» |
Куклы |
81,00 ₽ |
Игрушечный программист |
Contoso, Ltd |
… |
… |
… |
… |
Если вы хотите отобразить эти описательные данные, создайте второй запрос на выборку, объединяющий поля из итогового запроса с полями, содержащими дополнительные данные.
В этом разделе описано, как создать итоговый запрос и запрос на выборку для отбора наиболее дорогих товаров в каждом наборе категорий. В качестве примера используются следующие таблицы:
Таблица «Категории»
КодКатегории |
Название категории |
Описание |
1 |
Настольные игры |
Для всех возрастов и уровней навыков |
2 |
Головоломки |
Мозаики, ребусы, игрушки-головоломки |
3 |
Компьютерные игры |
Для любых консолей и уровней навыков |
4 |
Куклы |
Фигурки, куклы |
5 |
Спортивное снаряжение |
Мячи, одежда, сетки |
6 |
Модели для сборки |
Самолеты, машины, поезда |
Таблица «Поставщики»
КодПоставщика |
Поставщик |
1 |
Fabrikam |
2 |
Лесопитомник |
3 |
Northwind Traders |
4 |
Adventure Works |
5 |
Lucerne Publishing |
6 |
Proseware, Inc. |
7 |
Contoso, Ltd |
8 |
Wide World Importers |
9 |
Wingtip Toys |
10 |
Wide World Importers |
11 |
Корпорация «Софт» |
12 |
Southridge Video |
Таблицы «Товары»
Наименование товара |
КодПоставщика |
КодКатегории |
Цена |
Игрушечный программист |
7 |
4 |
12,95 ₽ |
Занимательный C++ |
6 |
1 |
15,85 ₽ |
Схема реляционной базы данных |
5 |
2 |
22,50 ₽ |
Волшебная микросхема |
3 |
2 |
32,65 ₽ |
Access! Игра! |
1 |
1 |
22,95 ₽ |
Компьютерные маньяки и мифические животные |
11 |
3 |
78,50 ₽ |
Упражнение для компьютерных мониторов! DVD-диск! |
4 |
5 |
14,88 ₽ |
Неуловимая летающая пицца |
2 |
5 |
36,75 ₽ |
Внешний дисковод гибких дисков 5.25» (масштаб 1:4) |
8 |
6 |
65,00 ₽ |
Игрушечный менеджер |
9 |
4 |
78,88 ₽ |
Тьма |
12 |
3 |
53,33 ₽ |
Собери клавиатуру |
1 |
6 |
77,95 ₽ |
Примечание: Предполагается, что между таблицами «Категории» и «Товары», а также между таблицами «Поставщики» и «Товары» установлены отношения «один-ко-многим». В этом случае поля «КодПоставщика» и «КодКатегории» в этих таблицах общие. Если не создать эти отношения, то итоговый запрос, описанный ниже, не будет работать.
Создание итогового запроса
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Выберите нужные таблицы, нажмите кнопку «Добавить», а затем, завершив добавление таблиц, нажмите кнопку «Закрыть».
-или-
Дважды щелкните каждую из нужных таблиц, а затем нажмите кнопку Закрыть. Каждая таблица отображается в бланке запроса. При использовании таблиц из примера выше добавьте таблицы «Категории» и «Товары». -
Дважды щелкните поля таблицы, которые вы хотите использовать в запросе.
На данном этапе необходимо удостовериться, что в запрос были добавлены только поля, по которым выполняется группировка, и поля значений. При использовании примера добавьте поле «Название категории» из таблицы «Категории» и поле «Цена» из таблицы «Товары». -
Кроме того, можно указать условие для ограничения области действия запроса.
Будут отсортированы только записи, соответствующие условиям, а в отсортированном списке будут найдены наибольшие и наименьшие значения. Например, чтобы исключить товары категории «Спортивное снаряжение», добавьте в строку Условия отбора поля «Название категории» следующее выражение: <>»Спортивное».
Другие примеры выражений условий для запросов можно найти в статье Примеры условий запроса. -
Преобразуйте запрос в итоговый запрос.
-
На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Итоги.
В бланке запроса появится строка Итог.
-
-
Убедитесь, что ячейка Итог каждого поля группы содержит значение Группировка, а затем в ячейке Итог того поля, в котором ищутся наибольшие или наименьшие значения, выберите Max или Min.
Выбор значения Max возвращает наибольшее значение в числовом поле и самую последнюю дату или время в поле даты и времени. Выбор значения Min возвращает наименьшее значение в числовом поле и самую раннюю дату или время в поле даты или времени. В нашем примере выберите в ячейке Итог поля «Название категории» значение Группировка, а в ячейке Итог поля «Цена» — параметр Max или Min. -
На вкладке «Конструктор» в группе «Инструменты» убедитесь, что для списка «Возврат» установлено обозначение «Все», а затем нажмите кнопку «Выполнить», чтобы выполнить запрос и отобразить результаты в представлении таблицы.
Примечание: В зависимости от функции, выбранной на шаге 7, Access изменяет имя поля значений в запросе на МаксимумOfИмя Поля или MinOfFieldName. В нашем примере поле будут переименовано в Максимум_Цена или Минимум_Цена.
-
Сохраните запрос и переходите к следующим шагам.
Запрос не возвращает названия товаров и другую информацию о них. Чтобы просмотреть дополнительные данные, необходимо создать второй запрос, который включает в себя запрос, который вы только что создали. Ниже описано создание второго запроса.
Создание второго запроса для отображения более подробных данных
-
На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
-
Перейдите на вкладку «Запросы», а затем дважды щелкните итоговую таблицу, созданную в предыдущем разделе.
-
Откройте вкладку Таблицы и добавьте таблицы, которые использовались в итоговом запросе, и любые таблицы, содержащие другие связанные данные, которые вы хотите отобразить.
В нашем примере добавьте в новый запрос таблицы «Категории», «Товары» и «Поставщики». -
Свяжите поля в итоговом запросе с соответствующими полями в родительских таблицах. Для этого перетащите каждое поле из итогового запроса на соответствующее поле в таблице.
В описанном примере перетащите поле имя «Название категории» из итогового запроса на поле «Название категории» в таблице «Категории». Затем перетащите поле «Максимум_Цена» из итогового запроса на поле «Цена» в таблице «Товары». Благодаря объединению новый запрос на выборку связывает данные из итогового запроса с данными из других таблиц.
-
В окне итогового запроса дважды щелкните звездочку (*), чтобы добавить запрос целиком в бланк, а затем перетащите дополнительные поля из других таблиц запроса.
В нашем примере дважды щелкните итоговый запрос, созданный в предыдущем разделе, а затем добавьте поля «Наименование товара» и «Поставщик» из таблиц «Товары» и «Поставщики» соответственно.
-
При необходимости вы можете задать порядок сортировки для одного или нескольких столбцов.
Например, чтобы вывести список категорий в алфавитном порядке, выберите в ячейке Сортировка столбца «Название категории» значение По возрастанию. -
На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.
Запрос будет выполнен, а его результаты выведутся в режиме таблицы.
Совет: Если вам не нравится, что заголовок столбца «Цена» называется Максимум_Цена или Минимум_Цена, то откройте запрос в Конструкторе и в столбце «Цена» в бланке запроса введите Цена: Максимум_Цена или Цена: Минимум_Цена. После этого в заголовке столбца в режиме таблицы будет выводиться название Цена.
К началу страницы
Поиск записей, содержащих наибольшие и наименьшие значения
Запросы, созданные ранее в этой статье, возвращают либо наибольшие, либо наименьшие значения, но не оба набора сразу. Если вы хотите отобразить оба набора значений в одном представлении, следует создать два запроса (один для получения наибольших значений и другой для получения наименьших значений), а затем объединить и сохранить результаты в одной таблице.
Поиск наибольших и наименьших значений и отображение этих данных в таблице состоит из следующих основных этапов:
-
Создание запроса на поиск наибольших значений и запроса на поиск наименьших значений или, при необходимости группировки данных, создание итоговых запросов, использующих функции Min и Max.
-
Преобразование запроса на поиск наибольших значений (или итогового запроса на поиск максимальных значений) в запрос на создание таблицы и выполнение этого запроса для создания таблицы.
-
Преобразование запроса на поиск наименьших значений (или итогового запроса на поиск минимальных значений) в запрос на добавление для добавления записей в таблицу наибольших значений.
Ниже описан процесс создания такого запроса.
Примечание: Если база данных не имеет цифровой подписи или не находится в надежном местоположении, Access запрещает запускать описанные здесь запросы на изменение. Выполните первый набор шагов для включения заблокированного содержимого, прежде чем пытаться создать описанные здесь запросы на создание таблицы и добавление.
Включение содержимого базы данных
-
Нажмите на панели сообщений кнопку Включить содержимое.
-
Выполните запрос еще раз.
-
-
Создайте запросы на поиск наибольших и наименьших значений.
Шаги, необходимые для создания запроса на поиск наибольших или наименьших значения, описаны выше в разделе Поиск записей, содержащих наибольшие или наименьшие значения. Если нужно сгруппировать записи по категориям, обратитесь к разделу Поиск записей, содержащих наибольшие или наименьшие значения, в группах или категориях.
-
Сохраните каждый запрос и оставьте его открытым, чтобы использовать на следующих шагах.
Создание запроса на создание таблицы
-
В запросе на поиск наибольших значений, открытом в Конструкторе:
На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.
Откроется диалоговое окно Создание таблицы. -
В поле Имя таблицы введите имя таблицы, которая будет хранить записи с наибольшими и наименьшими значениями. Например, введите Наибольшие и наименьшие значения, а затем нажмите кнопку ОК.
Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы запрос будет создавать таблицу и замещать значения текущими данными. -
Сохраните и закройте запрос.
Создание запроса на добавление
-
Откройте запрос на поиск наименьших значений в Конструкторе.
-
На вкладке Разработка в группе Тип запроса выберите команду Добавить.
-
В диалоговом окне Добавление введите то же имя, что было указано в диалоговом окне Создание таблицы.
Например, введите Наибольшие и наименьшие значения, а затем нажмите кнопку ОК. Каждый раз при выполнении запроса вместо отображения результатов в режиме таблицы он будет добавлять записи в таблицу «Наибольшие и наименьшие значения». -
Сохраните и закройте запрос.
Выполнение запросов
Теперь вы готовы запустить оба запроса.
-
В области навигации дважды щелкните запрос на верхнее значение и нажмите кнопку «Да» в сообщениях.
-
Дважды щелкните запрос на поиск наименьших значений и нажмите кнопку Да в сообщениях.
-
Откройте таблицу с набором записей в режиме таблицы.
К началу страницы
Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article
1. Max() Function :
max() function return the maximum value of given set. In the function a query is passed and in the eligible records which value will be maximum that will return as result. A expression will be pass as parameter and it will return the maximum value in the expression.
Syntax :
Max (expression)
Demo Database for example :
Table name : student
student_id | Marks |
---|---|
121 | 56 |
122 | 45 |
123 | 89 |
124 | 50 |
Example-1 :
SELECT Max(Marks) AS marks FROM student;
Output –
marks |
---|
89 |
Example-2 :
SELECT Max(Marks) AS marks FROM student where Marks<80;
Output –
marks |
---|
56 |
2. Min() Function :
min() function works like max() function but it will return the minimum value of the expression. In this function a query will be passed as parameter and it will return the minimum record.
Syntax :
Min(expression)
Example-1 :
SELECT Min(Marks) AS marks FROM student;
Output –
marks |
---|
45 |
Example-2 :
SELECT Min(Marks) AS marks FROM student where Marks>50;
Output –
marks |
---|
56 |
Last Updated :
02 Sep, 2020
Like Article
Save Article
Axian Ltd.: В каком смысле «кривая» в смысле не правильно сформированная? А как правильно формировать? Или может на грамотную статью «угостите»?
А на счет статьи по ссылке, тоже не совсем понятно… Это пример функции? Не могу понять как её применять…
У меня Access 2010, в меню «Работа с базами данных», выбрал «Visual Basic», создал там новый Modul, скопировал в него формулу из статьи,нажал Run и вышел. После чего в базе пробовал создавать новую строку с типом «Вычисляемая» и вставлять туда код » Maximum([A],[B],[C]) «, так же пробовал вставлять данный код код в новую ячейку запроса, не работает:(
Кстати, не понял первый пункт статьи: «Open the sample database Northwind.mdb.», это как выполнить, о чем это вообще, может я не туда захожу?
Max — вычисляет в запросе максимальное значение в поле, Min — минимальное, Avg — среднее значение, Last — выбирает последню запись, Sum — суммирует данные.
-- Поиск максимального значения SELECT Max(КурсUSD) as MaxUSD From [Данные]; -- Выборка среднего значения SELECT Avg(КурсUSD) as Средний From [Данные]; -- Выборка минимального значения SELECT Min(КурсUSD) as Минимальный From [Данные]; -- Выборка первого значения SELECT First(КурсUSD) as Первый From [Данные]; -- Выборка последнего значения SELECT Last(КурсUSD) as Последний From [Данные]; -- Суммирование полей SELECT Sum(СуммаРуб) as Сумма From [Данные]; -- Расчет количества SELECT Count(КурсUSD) as Кол_во From [Данные];
This MSAccess tutorial explains how to use the Access Max function with syntax and examples.
Description
The Microsoft Access Max function returns the maximum value in a set of numeric values in a select query.
Syntax
The syntax for the Max function in MS Access is:
Max( expression )
Parameters or Arguments
- expression
- A numeric value. It can be a field or a formula that evaluates to a numeric expression.
Applies To
The Max 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 Max function in a query by clicking on the Totals button in the toolbar (This is the button with the summation symbol). The Max function is used in conjunction with the Group By clause.
For example:
This query would return the maximum UnitsInStock for each ProductName.