Оконные функции вычисляют результат по связанному набору строк, сохраняя отдельные строки результата. В отличие от GROUP BY они не обязаны сворачивать группу в одну строку.
В чём особенность оконных функций SQL?
Оконные функции вычисляют результат по связанному набору строк, сохраняя отдельные строки результата. В отличие от GROUP BY они не обязаны сворачивать группу в одну строку.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Оконные функции вычисляют результат по связанному набору строк, сохраняя отдельные строки результата. В отличие от GROUP BY они не обязаны сворачивать группу в одну строку.
Через OVER задают разделение PARTITION BY, порядок и при необходимости рамку окна. Например, ROW_NUMBER нумерует строки, LAG даёт предыдущее значение, SUM может вычислять накопительный итог. Порядок внутри окна не гарантирует порядок итоговой выдачи без внешнего ORDER BY. Для агрегатов важно понимать рамку: значение по умолчанию не всегда соответствует ожидаемому «всё до текущей строки» при равных ключах.