GROUP BY в MySQL группирует строки с одинаковыми значениями в итоговые строки. 1 Он работает с набором столбцов, которые указаны в запросе SQL. 1
Пример работы: запрос разбивает все записи из таблицы Rooms на 3 группы, опираясь на поле home_type. 2 Далее, для каждой группы суммирует все значения, взятые из поля price у каждой записи, входящей в текущую группу, и затем полученный результат делится на количество записей в данной группе. 2
Синтаксис GROUP BY:
SELECT column1, aggregate_function(column2)FROM table_nameWHERE conditionGROUP BY column1;
Где column1 — столбцы, по которым нужно сгруппировать набор результатов; 1aggregatefunction — функции (SUM, COUNT, AVG и другие) для выполнения расчётов над сгруппированными данными; 1tablename — имя таблицы, из которой извлекаются данные; 1condition — условия для фильтрации строк перед группировкой. 1
Для GROUP BY все значения NULL трактуются как равные, то есть при группировке по полю, содержащему NULL-значения, все такие строки попадут в одну группу. 2