Essaie cette syntaxe avec la 9i.
Je ne sais plus depuis quelle version les "ORDER BY" dans un sous-select son autorisés sous Oracle.
Si ça ne passe pas, alors tu n'as pas d'autre choix que de faire un simple select * avec un tri, puis seeker directement la ligne désirée dans ton résultat.
Tu peux le faire via PL/SQL si ton tuyau entre le SGBD et ton application est limité en vitesse.