Основное отличие оконных функций от обычных агрегатных функций заключается в том, как они обрабатывают данные: 3
- Агрегатные функции сворачивают несколько строк в одну строку результата. 3 Они выполняют операцию над набором строк, сгруппированных по определённым критериям, и возвращают единственное значение для каждой группы. 3 Например, функции SUM(), AVG(), MAX() и MIN() являются агрегатными функциями. 3
- Оконные функции, напротив, предоставляют результаты для каждой отдельной строки в наборе данных. 3 Они выполняют агрегатную операцию над набором строк, но результат отображается как новое значение столбца в каждой строке. 3 Оконные функции позволяют анализировать данные на уровне строк, не сворачивая их. 3
Кроме того, оконные функции не изменяют количество строк в результате запроса, в то время как агрегатные функции уменьшают его, сворачивая строки в одну. 24