Вступить в клуб →
средняявопросSQL для аналитики

SUM() OVER (PARTITION BY) против GROUP BY: сколько строк вернёт запрос

В таблице orders пять строк: три заказа клиента 1 и два заказа клиента 2.

SELECT user_id, order_id, amount,
       SUM(amount) OVER (PARTITION BY user_id) AS user_total
FROM orders;

Что вернёт запрос?

  • Две строки — по одной на клиента: оконная функция схлопывает строки так же, как GROUP BY user_id
  • Пять строк; в user_total у каждой строки полная сумма заказов её клиента
  • Пять строк; в user_total нарастающий итог по заказам клиента
  • Ошибку: SUM без GROUP BY user_id выполнить нельзя

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела