GROUP BY является командой в стандарте реляционной базы данных SQL для сворачивания группы строк, которые совместно используют общее значение (значения) поля в одну строку. Агрегатные функции могут быть выполнены на других полях в группе, таких как СУММА () или AVG (), для сопоставления связанных данных в единственное значение.

О нас

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

Агрегатные функции могут быть выполнены на других полях в группе, таких как СУММА () или AVG (), для сопоставления связанных данных в единственное значение.

Синтаксис

SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name 

Источник

MySQL Handling GROUP BY

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

SELECT o.custid, c.name, MAX(o.payment) FROM orders AS o, customers AS c WHERE o.custid = c.custid GROUP BY o.custid; 

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

Источник

GROUP BY (совокупные) функции

Связанные теги: