SQL Group By Example | Группировать по предложению в SQL

Предложение SQL GROUP BY в SQL используется для организации одних и тех же данных в группы с помощью некоторых функций. Предложение GROUP BY объединяет строки с одинаковыми значениями в итоговые строки, например «найдите количество клиентов в каждом городе». Оператор Group By позволяет упорядочивать строки запроса по группам. Группы определяются столбцами таблицы, которые вы указываете в предложении GROUP BY .

SQL Group By Example

GROUP BY в SQL также используется с агрегатными функциями (COUNT, MAX, MIN, SUM, AVG) для группировки результата по одному или нескольким столбцам. Его основная работа — суммировать данные из базы данных.

Если вы хотите построить какую-либо диаграмму, предложение GROUP BY будет полезно для получения сводных данных и последующего рисования диаграммы на основе полученных данных.

Запросы, содержащие предложение GROUP BY, называются сгруппированными запросами и возвращают только одну строку для каждого сгруппированного элемента.

Ключевые моменты

  1. Оператор GROUP BY используется с Оператор SELECT.
  2. В запросе оператор GROUP BY помещается после предложения WHERE.
  3. В запросе оператор GROUP BY помещается перед предложением ORDER BY, если используется любой.

Синтаксис

 SELECT select_columnsFROM tableGROUP BY column_name1, column_name2, ...; 

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

Теперь перейдем к примеру .

Сначала нам нужно создать две таблицы. Если вы не знаете, как создать таблицу в SQL, ознакомьтесь с руководством по созданию таблицы SQL. Теперь создайте первую таблицу.

У нас есть фиктивные данные наших продуктов. См. Данные ниже.

У нас есть таблица продуктов, в которой есть столбцы ProductID, ProductName, ProductPrice и created_at .

Примите во внимание следующее Пример GROUP BY.

 SELECT ProductName, YEAR (created_at) OrderYearFROM Products 

См. Вывод.

Мы выбрали ProductName и только год от даты.

Мы можем добавить дополнительные ограничения как «Заказать по». См. Следующий запрос.

 SELECT ProductID, ProductName, YEAR (created_at) OrderYearFROM ProductsORDER BY ProductID DESC 

См. Следующий пример.

В этом примере мы получили ProductID, ProductName и год заказа Продуктов как вы можете ясно видеть из результата, что продукты с ProductID упорядочены по убыванию.

Теперь просмотрите следующий запрос.

 SELECT ProductID, YEAR (created_at) OrderYear, ProductPriceFROM ProductsGROUP BY ProductPriceORDER BY ProductPrice DESC 

См. вывод ниже.

В приведенном выше запросе мы выбрали три столбца, которые сгруппированы по ProductPrice

Мы использовали предложения GROUP By и ORDER BY.

Теперь давайте изменим базу данных. Мы добавим еще несколько данных.

См. Новую базу данных.

Давайте воспользуемся агрегатной функцией Count, чтобы подсчитать количество элементов. Пример.

См. пример ниже.

 SELECT COUNT (  ProductID) как TotalID, ProductName, Year (created_at) FROM ProductsGROUP BY ProductNameORDER BY created_at 

В приведенном выше запросе мы выбрали три столбца.

Мы выбираем нет. идентификаторов, имеющих одинаковое количество продуктов.

Итак, мы использовали предложение GROUP BY с именем столбца ProductName.

Таким образом, функция подсчета будет считать количество нет. строк, содержащих одинаковые продукты, и выводит итог и печать.

См. вывод ниже.

В приведенных выше выходных данных вы можете видеть, что продукт FRONTROW SNEAKER появился два раза, LV INITIALS выглядит только один раз.

На практике предложение GROUP BY также используется с агрегатными функциями для создания сводных отчетов.

Предложение GROUP BY объединяет строки в группы, а агрегат функция возвращает сводку (количество, минимум, максимум, среднее, сумма и т. д.) для каждой группы.

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

В противном случае вы получите ошибку, поскольку нет гарантии, что столбец или выражение вернет единственное значение для каждой группы.

Использование GROUP Предложение BY с примером функций MIN и MAX

См. Следующий запрос.

 SELECT ProductID, COUNT (ProductID) as Total, ProductName, MIN (  ProductPrice) как min_priceFROM ProductsGROUP BY ProductNameORDER BY ProductID 

В приведенном выше запросе мы выбираем четыре столбца. Мы выбираем группу по ProductName и подсчитываем общее количество товаров с минимальной ценой. См. Вывод ниже.

Итак, SQL Group By Example окончено.

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