Чем PARTITION BY отличается от GROUP BY для подзапроса?

GROUP BY сворачивает строки в группы, а PARTITION BY в оконной функции сохраняет строки и задаёт набор для вычисления значения у каждой из них.

Короткий ответ

Что ответить на собеседовании

GROUP BY сворачивает строки в группы, а PARTITION BY в оконной функции сохраняет строки и задаёт набор для вычисления значения у каждой из них.

Подробный разбор

Ответ с пояснениями

GROUP BY сворачивает строки в группы, а PARTITION BY в оконной функции сохраняет строки и задаёт набор для вычисления значения у каждой из них.

Например, SUM(amount) OVER (PARTITION BY user_id) добавляет сумму заказов пользователя к каждой его строке. GROUP BY user_id возвращает одну строку на пользователя. Вложенный подзапрос не меняет эту разницу; ORDER BY внутри окна также может менять рамку и смысл суммы.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее