Tanto dcw como Dems han proporcionado consultas alternativas apropiadas. Solo quería agregar una explicación de por qué su consulta no se está comportando de la manera que esperaba.
Si tiene una consulta que incluye ROWNUM y ORDER BY, Oracle aplica primero ROWNUM y luego ORDER BY. Así que la consulta
SELECT *
FROM emp
WHERE rownum <= 5
ORDER BY empno
obtiene 5 filas arbitrarias del EMP
mesa y los ordena, casi seguro que no es lo que se pretendía. Si desea obtener las "primeras N" filas con ROWNUM, deberá anidar la consulta. Esta consulta
SELECT *
FROM (SELECT *
FROM emp
ORDER BY empno)
WHERE rownum <= 5
ordena las filas en la tabla EMP y devuelve las primeras 5.