GROUP BY - это оператор в языке SQL, который позволяет группировать строки в результате запроса по определенному столбцу или столбцам. Он широко используется в MySQL для агрегирования данных и выполнения различных вычислений.
Он используется в сочетании с функциями агрегации, такими как COUNT, SUM, AVG, MAX, MIN и другими. Оператор GROUP BY группирует строки по значениям в указанных столбцах и применяет выбранные функции агрегации к каждой группе.
Простой пример использования
В этом примере мы выбираем столбец "department" из таблицы "employees" и считаем количество сотрудников в каждом отделе с помощью функции COUNT(*).
Затем группируем результат по столбцу "department". В итоге получим таблицу с двумя столбцами - "department" и "count", в которой будет информация о количестве сотрудников в каждом отделе.
Использование столбцов для группировки
В этом примере мы добавляем столбец "gender" и группируем результат по двум столбцам - "department" и "gender". Теперь мы можем узнать количество сотрудников в каждом отделе по полу.
Использование с HAVING и ORDER BY
В этом примере мы выбираем столбец "department" и вычисляем среднюю зарплату с помощью функции AVG(salary).
Затем группируем результат по столбцу "department" и фильтруем результаты с помощью оператора HAVING, оставляя только те группы, у которых средняя зарплата больше 50000. Наконец, сортируем результаты по средней зарплате в порядке убывания.
Оператор GROUP BY является мощным инструментом в MySQL для группировки данных и выполнения агрегатных функций. Он позволяет сгруппировать строки по определенным столбцам и применить к каждой группе выбранные функции агрегации. GROUP BY также может использоваться с другими операторами для дальнейшей фильтрации и сортировки результатов.