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