Функция оконных аналитических функций в Oracle работает следующим образом: при обычном запросе всё множество строк обрабатывается единым «цельным куском», для которого считаются агрегаты. 2 А при использовании оконных функций запрос делится на части (окна), и уже для каждой из отдельных частей считаются свои агрегаты. 2
Окно определяется с помощью обязательной инструкции OVER(). 2 Она создаёт окно (набор строк), над которым работает функция. 1
Аналитические функции всегда применяются к определённому набору строк. 3 Его можно указывать физически, например: «Для текущей строки в выборке аналитическая функция должна обработать две строки перед ней и три строки после неё». 3 Также можно определять окно не по физическому расположению строки в выборке, а по значениям, которые строки в себе содержат. 3 В первом случае, при указании физических строк, используется ключевое слово ROWS, во втором — RANGE. 3
Результаты работы оконных функций просто добавляются к результирующей выборке как ещё одно поле. 2 Этот функционал полезен для построения аналитических отчётов, расчёта скользящего среднего и нарастающих итогов, а также для расчётов различных моделей атрибуции. 2