Skip to main content

Подробнее об использовании запроса Microsoft Access GROUP BY

SQL: Агрегатные функции SUM, AVG, COUNT, MIN, MAX в запросах Access (Май 2025)

SQL: Агрегатные функции SUM, AVG, COUNT, MIN, MAX в запросах Access (Май 2025)
Anonim

Вы можете использовать базовые SQL-запросы для извлечения данных из базы данных, но это часто не обеспечивает достаточного интеллекта для удовлетворения бизнес-требований. SQL также предоставляет возможность группировать результаты запроса на основе атрибутов на уровне строки, чтобы применять агрегированные функции, используя предложение GROUP BY. Рассмотрим, например, таблицу данных заказа, состоящую из следующих атрибутов:

  • Номер заказа - числовое значение, однозначно определяющее каждый заказ. Это поле является основным ключом для базы данных.
  • Salesperson - текстовое значение, указывающее имя продавца, который продал продукты. Это поле является внешним ключом к другой таблице, содержащей информацию о персонале.
  • Пользовательский ИД - числовое значение, соответствующее номеру счета клиента. Это поле также является внешним ключом, ссылающимся на таблицу, содержащую информацию об учетной записи клиента.
  • доходов - числовое значение, соответствующее долларовой сумме продажи.

Когда приходит время проводить обзоры производительности для продавцов, в таблице заказов содержится ценная информация, которая может быть использована для этого обзора. Оценивая Jim, вы можете, например, написать простой запрос, который извлекает все записи продаж Jim:

ВЫБРАТЬ *

ОТ заказов

ГДЕ Продавец LIKE 'Jim'

Это позволит получить все записи из базы данных, соответствующие продажам, сделанным Джим:

Доход клиента CustomerID SalesID

12482 Джим 182 40000

12488 Jim 219 25000

12519 Джим 137 85000

12602 Джим 182 10000

12741 Jim 155 90000

Вы можете просмотреть эту информацию и выполнить некоторые ручные вычисления для получения статистики производительности, но это будет утомительной задачей, которую вам придется повторить для каждого продавца в компании. Вместо этого вы можете заменить эту работу одним запросом GROUP BY, который вычисляет статистику для каждого продавца в компании. Вы просто пишете запрос и указываете, что база данных должна группировать результаты на основе поля Salesperson. Затем вы можете использовать любую из агрегатных функций SQL для выполнения вычислений по результатам.

Вот пример. Если вы выполнили следующую инструкцию SQL:

SELECT Sales, SUM (доход) AS 'Total', MIN (доход) AS 'Smallest', MAX (доход) AS 'Largest', AVG (доход) AS 'Average', COUNT (доход) AS 'Number'

ОТ заказов

ГРУППА ПО ПРОДАЖЕ

Вы получите следующие результаты:

Суммарный наименьший средний размер продавца

Джим 250000 10000 90000 50000 5

Mary 342000 24000 102000 57000 6

Bob 118000 4000 36000 39333 3

Как вы можете видеть, эта мощная функция позволяет создавать небольшие отчеты из SQL-запроса, предоставляя ценную бизнес-аналитику менеджеру, проводящему обзоры производительности. Предложение GROUP BY часто используется в базах данных для этой цели и является ценным инструментом в сумке трюков DBA.