Bonjour,
je voulais faire une requete sql sous oracle, en récupérant par exemple les 3 premiers valeurs MAX de mon champs.
est ce qu'il y a une fonction qui permet de faire ça, ou bien je dois me "fabriquer" une requête.
merci de votre réponse.
Bonjour,
je voulais faire une requete sql sous oracle, en récupérant par exemple les 3 premiers valeurs MAX de mon champs.
est ce qu'il y a une fonction qui permet de faire ça, ou bien je dois me "fabriquer" une requête.
merci de votre réponse.
Il n'y a pas de fonction toute faite, en tout cas pas que je connaisse.
Il va falloir une requête vous-même.
Je partirais sur une sous-requête avec l'utilisation de fonction analytique (RANK ou ROW_NUMBER par ex.) ou le ROWNUM, mais en faisant bien attention à son utilisation.
tu peux faire simplement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM TABLE WHERE ROWNUM < 4 ORDER BY CHAMP DESC;
Surtout pas, le filtre s'appliquant avant le tri.
Il faut faire ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM ( SELECT * FROM TABLE ORDER BY CHAMP DESC) WHERE ROWNUM <= 3
Email : http://scr.im/waldar
Merci à vous tous pour vos réponses
j'ai plutot fait comme Waldar à proposer
Merci encore
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager