SQLLab
АгрегатыНачальный

GROUP BY

Группирует строки с одинаковыми значениями для применения агрегатных функций.

Синтаксис
SELECT col, AGG(col2) FROM table GROUP BY col;

Объяснение

GROUP BY схлопывает группы строк в одну. В SELECT можно использовать только колонки из GROUP BY или агрегатные функции. Порядок: WHERE (фильтр строк) → GROUP BY (группировка) → HAVING (фильтр групп) → SELECT.

Пример

-- Количество заказов и сумма по каждому пользователю
SELECT
  user_id,
  COUNT(*) AS orders_count,
  SUM(total) AS total_spent
FROM orders
GROUP BY user_id
ORDER BY total_spent DESC;