В Microsoft Access GROUP BY - это предложение, которое можно использовать для объединения записей с одинаковыми значениями в определенном поле в одной записи. Если вы включаете агрегатную функцию SQL в оператор SELECT, например AVG, COUNT или SUM, Access создает итоговое значение для каждой записи.
Инструкции в этой статье относятся к Access для Microsoft 365, Access 2019, 2016, 2013 и 2010.
Использование GROUP BY
Вы можете найти и использовать функцию GROUP BY с помощью SQL-запроса в представлении SQL. Это один из самых простых и прямых способов доступа к вашим данным и управления ими.
-
Запустите Access и откройте базу данных.
В этом примере используется образец базы данных Northwind.
-
Выберите вкладку Создать.
-
В группе Запросы выберите Дизайн запроса.
-
В списке Добавить таблицы выберите таблицу, с которой хотите работать.
-
Выберите View в группе результатов и выберите SQL View.
- Основное тело переключится на окно терминала запросов. Здесь вы можете ввести любой запрос, который вам нравится.
-
Чтобы получить базовую группировку из SQL, введите что-то вроде этого:
SELECTFROM tablename WHERE столбец/категория LIKE ‘entry’;
Замените фактическое имя таблицы, заголовок категории или столбца и фактическое значение записи, которое вы ищете.
Разбивка запроса
Рассмотрите, например, таблицу данных заказа, состоящую из следующих атрибутов:
- OrderID: Числовое значение, однозначно идентифицирующее каждый заказ. Это поле является первичным ключом для базы данных.
- Продавец: Текстовое значение, указывающее имя продавца, продавшего товары. Это поле является внешним ключом к другой таблице, содержащей информацию о персонале.
- CustomerID: числовое значение, соответствующее номеру счета клиента. Это поле также является внешним ключом, ссылающимся на таблицу, содержащую информацию об учетной записи клиента.
- Доход: числовое значение, соответствующее сумме продажи в долларах.
Когда приходит время проводить обзоры эффективности продавцов, таблица Orders содержит ценную информацию, которая может быть использована для этого обзора. При оценке Джима вы могли бы, например, написать простой запрос, который извлекает все записи о продажах Джима:
SELECTFROM Orders WHERE Продавец LIKE ‘Jim’;
Это позволит получить все записи из базы данных, соответствующие продажам, сделанным Джимом:
OrderID Продавец CustomerID Revenue
12482 Jim 182 40000
12488 Jim 219 25000
12519 Jim 137 85000
12602 Jim 182 10000 12741 Джим 155 90000
Вы можете просмотреть эту информацию и выполнить некоторые расчеты вручную для получения статистики производительности, но это будет утомительная задача, которую вам придется повторять для каждого продавца в компании. Вместо этого вы можете заменить эту работу одним запросом GROUP BY, который вычисляет статистику каждого продавца в компании. Вы пишете запрос и указываете, что база данных должна группировать результаты на основе поля «Продавец». Затем вы можете использовать любую агрегатную функцию SQL для выполнения вычислений с результатами.
Вот пример. Если вы выполнили следующую инструкцию SQL:
ВЫБЕРИТЕ Продавца, SUM(Доход) AS 'Всего', MIN(Доход) AS 'Наименьший', MAX(Доход) AS 'Самый большой', AVG(Доход) AS 'Средний', COUNT(Доход) AS ' Номер' ИЗ Заказов СГРУППИРОВАТЬ ПО Продавцу;
Вы получите следующие результаты:
Продавец Итого Наименьшее Наибольшее среднее число
Джим 250000 10000 90000 50000 5
Мэри 342000 24000 102000 57000 6Боб 118000 4000 36000 33 3
Как видите, эта мощная функция позволяет создавать краткие отчеты из SQL-запроса, предоставляя ценную бизнес-аналитику менеджеру, проводящему оценку эффективности. Предложение GROUP BY часто используется в базах данных для этой цели и является ценным инструментом в арсенале администраторов баз данных.