Essayez ceci pour récupérer les N premiers enregistrements d'une requête, vous pouvez utiliser la syntaxe suivante ::-
SELECT *
FROM (your ordered query) alias_name
WHERE rownum <= Rows_to_return
Exemple :-
SELECT *
FROM (select * from suppliers ORDER BY supplier_name) suppliers2
WHERE rownum <= 3