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