Разница между OVER() и PARTITION BY заключается в их назначении в контексте оконных функций:
- OVER() определяет, как именно нужно разделить строки запроса для обработки оконной функцией. postgrespro.ru Если конструкцию OVER() оставить без параметров, то окном будет выступать вся таблица. sql-academy.org
- PARTITION BY разделяет строки по группам, или разделам, объединяя одинаковые значения выражений PARTITION BY. postgrespro.ru Оконная функция вычисляется по строкам, попадающим в один раздел с текущей строкой. postgrespro.ru Если PARTITION BY не указан, то все строки исходной таблицы попадают в один раздел. ydb.tech
Таким образом, OVER() определяет общее разделение строк, а PARTITION BY — разделение по группам для дальнейшей обработки оконной функцией. postgrespro.ru sql-academy.org