Bonjour.
Comment faire pour voir le top 10 du resultat d'une requete qui compte le nombre de produits vendu sur un periode et me donne un resultat en ordre décroisant a l'ecran.
Bref je voudrais voir que le 10 premières lignes.
Merci
Bonjour.
Comment faire pour voir le top 10 du resultat d'une requete qui compte le nombre de produits vendu sur un periode et me donne un resultat en ordre décroisant a l'ecran.
Bref je voudrais voir que le 10 premières lignes.
Merci
![]()
cherche rownum
Mon probleme c'est que comme j'ai un order by en fin de reque avec un rownum il m'affiche les premiers mais sans d'abord avoir fait le classement!
Merci
Relis la réponse précédente.
Tu te retrouve là : http://oracle.developpez.com/faq/?page=3-1#rownum
et tu lis
D’une manière générale c’est mieux d’employer les fonctions analytiques pour ce type d’interrogation.
En l'occurence, pour les n premiers c'est pas utile![]()
Les plans d'exécution ne sont pas les mêmes dans les deux cas donc j'ai quelques doutes. Peut tu expliquer ?
La fonction analytique a pour intérêt d'appliquer le tri et regroupement sur les lignes fetchées seulement. Dans le cas d'un ROWNUM < x, de toute façon Oracle ne fetche pas plus de x ligne... donc aucun intérêt de tout ramener pour appliquer une fonction analytique sur l'ensemble des données ce qui par contre est plus intéressant si tu veux ramener de la m-iéme à la n-iéme ligne. Dans ce cas le ROWNUM classique raméne m lignes puis n lignes pour ne garder que ce qu'il y a entre les 2 quand la fonction analytique permet de ne ramener ramener que les n lignes.
Pas sûr que ce soit clair mon affaire![]()
Partager