Tanto o dcw quanto o Dems forneceram consultas alternativas apropriadas. Eu só queria dar uma explicação de por que sua consulta não está se comportando da maneira que você esperava.
Se você tiver uma consulta que inclua um ROWNUM e um ORDER BY, a Oracle aplicará primeiro o ROWNUM e depois o ORDER BY. Então a consulta
SELECT *
FROM emp
WHERE rownum <= 5
ORDER BY empno
obtém 5 linhas arbitrárias do
EMP
tabela e os classifica - quase certamente não o que se pretendia. Se você quiser obter as "primeiras N" linhas usando ROWNUM, precisará aninhar a consulta. Esta consulta SELECT *
FROM (SELECT *
FROM emp
ORDER BY empno)
WHERE rownum <= 5
classifica as linhas na tabela EMP e retorna as 5 primeiras.