Как работает PARTITION BY?

Middle
568 просмотров
AFK Offer AI

PARTITION BY — это как GROUP BY, но для оконных функций. Делит строки на группы, и функция вычисляется отдельно в каждой группе. SUM(amount) OVER (PARTITION BY user_id) — сумма для каждого юзера. Разница с GROUP BY: PARTITION BY не схлопывает строки, каждая строка остаётся и получает вычисленное значение рядом. Можно комбинировать: PARTITION BY department ORDER BY salary DESC — внутри каждого отдела строки отсортированы по зарплате. Без PARTITION BY окно — вся таблица.

Следующий вопрос

Что такое higher-order function?