Назад к вопросам
Junior
65
questionbank
Что такое запросы на группировку в SQL?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Запросы на группировку в SQL используются для агрегирования данных по одной или нескольким колонкам.
Основные операторы и функции для группировки:
GROUP BY: Разбивает строки на группы по значениям указанных колонок.- Агрегатные функции: Выполняют вычисления над группами строк.
COUNT(): Считает количество строк в группе.SUM(): Суммирует значения в колонке.AVG(): Вычисляет среднее значение.MIN(): Находит минимальное значение.MAX(): Находит максимальное значение.
HAVING: Фильтрует группы после выполнения агрегации и примененияGROUP BY, аналогичноWHEREдля отдельных строк.
Пример использования GROUP BY и агрегатной функции COUNT():
SELECT column1, COUNT(*) -- Выбираем колонку для группировки и количество строк в группе
FROM table_name
GROUP BY column1; -- Группируем по значениям column1
Пример использования HAVING:
SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1
HAVING COUNT(*) > 10; -- Отбираем только группы, где количество строк больше 10
Таблица сравнения WHERE и HAVING:
| Аспект | WHERE | HAVING |
|---|---|---|
| Назначение | Фильтрует отдельные строки перед GROUP BY |
Фильтрует группы строк после GROUP BY |
| Применяется | К табличным колонкам | К результатам агрегатных функций |
| Порядок | Выполняется до GROUP BY |
Выполняется после GROUP BY и агрегации |