Bonjour,
Je voudrais savoir comment retourner les x premières lignes dans une requête.
Sur le forum, j'ai vu que l'on conseille le champ caché ROWNUM et qu'il faut ajouter une clause WHERE du genre WHERE<=x, mais je ne suis pas d'accord...
En effet, si ma requête comporte un ORDER BY, alors Oracle va me retourner les mêmes lignes que la requête sans ORDER BY !
D'ailleurs on voit bien le problème avec ces requêtes :
SELECT ROWNUM FROM DEV.TBTEST a;
1
2
3
4
5
...Comment faire donc ?SELECT ROWNUM FROM DEV.TBTEST a ORDER BY a.FREQUENTATION;
12
3
18
7
5
...
Merci d'avance pour vos suggestions.
Autre point :
J'ai essayé avec un hint Oracle mais ça ne marche pas :
Ca me retourne quand même toutes les lignes...SELECT /*+ FIRST_ROWS(10) */ * FROM DEV.TBTEST;
En fait, ça doit agir seulement sur la façon qu'Oracle défini le plan d'exécution...
Partager