🔹 Window-функции OVER — ранжирование и скользящие вычисления 🔹 Зачем нужны window-функции в SQL? 🔸 Window-функции решают практическую задачу: нужно вычислить значение, зависящее от соседних или групповых строк (ранг, скользящая сумма, номер строки) без свёртки таблицы в агрегат — каждая строка остаётся, к ней добавляется колонка.
🔸 OVER определяет «окно» для вычисления: PARTITION BY делит набор на группы, ORDER BY задаёт порядок внутри группы. Без PARTITION окно — весь набор; без ORDER BY — нет порядкового смысла.
🔸 Например, взять для каждого user_id последнюю запись с помощью ROW_NUMBER. Это удобно для дедупа или выбора последних событий: SELECT user_id, event_time, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_time DESC) AS rn FROM events; rn=1 — последние события по пользователю, фильтруем WHERE rn=1.
📚 OVER + PARTITION BY + ORDER BY дают мощный инструмент для аналитики без лишних joins.
➡️ Мы в Telegram - Сетке - ВК Буду рад вашей реакции здесь⬇️
В этом посте были ссылки, но мы их удалили по правилам Сетки