Prova questo per recuperare i primi N record da una query, puoi utilizzare la seguente sintassi::-
SELECT *
FROM (your ordered query) alias_name
WHERE rownum <= Rows_to_return
Esempio:-
SELECT *
FROM (select * from suppliers ORDER BY supplier_name) suppliers2
WHERE rownum <= 3