Основные отличия ROWNUM и ROW_NUMBER в разных СУБД:
- ROWNUM — это псевдоколонка, которая не имеет параметров. 35 ROW_NUMBER — аналитическая функция, которая принимает параметры. 3
- ROWNUM рассчитывается для всех результатов, но до оператора ORDER BY. 3 ROW_NUMBER вычисляется как часть расчёта столбца. 3
- ROWNUM уникален, а ROW_NUMBER может содержать дубликаты. 3
В Oracle используется ROWNUM, а в SQL Server, PostgreSQL и MySQL — функция ROW_NUMBER() OVER (ORDER BY …). 1
Выбор между этими функциями зависит от конкретной системы управления базами данных и задач разработчика.