Microsoft Access GROUP BY Query

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

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

Использование GROUP BY

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

 SELECT * 
 ОТ заказов 
 ГДЕ продавец нравится ‘Джим’ 

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

 OrderID Менеджер по продажам CustomerID Доход 
 12482 Jim 182 40000 
 12488 Jim 219 25000 
 12519 Jim 137 85000 
 12602 Jim 182 10000 
 12741 Jim 155 90000 

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

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

 ВЫБЕРИТЕ продавца, SUM (доход) AS «Итого», MIN (доход) AS «Наименьший», MAX (доход) AS «Самый большой», AVG (доход) AS «Средний», COUNT (Доход) AS «Число» 
 ОТ заказов 
 Продавец GROUP BY 

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

 Общее количество продавцов наименьшее наибольшее 
 Джим 250000 10000 90000 50000 5 
 Мэри 342000 24000 102000 57000 6 
 Боб 118000 4000 36000 39333 3 

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

Оцените статью
Solutics.ru
Добавить комментарий