Sélectionnez d'abord la suite seulement
J'ai écrit la requête suivante:
SELECT CLIENT.CLIENTNO, CLIENT.CNAME, TOTALS.TOTAL
FROM CLIENT, (SELECT CLIENTNO, SUM(AMOUNT) AS TOTAL
FROM PURCHASE GROUP BY CLIENTNO) TOTALS
WHERE CLIENT.CLIENTNO = TOTALS.CLIENTNO AND ROWNUM <= 1
ORDER BY TOTALS.TOTAL DESC;
Cependant il me donne la mauvaise réponse, mais si je supprime le ROWNUM <= 1
clause, alors la réponse est dans le haut de l'ensemble de résultats.
Donc ce que je peux changer dans cette requête à lui faire produire la bonne réponse?
Grâce,
Alex.
EDIT: j'ai Oublié de dire que je ne veux que la requête renvoie la le premier résultat dans le jeu de résultats.
Le problème est que le numéro de rangée est affectée avant le dataset est triée.
OriginalL'auteur Alex Hope O'Connor | 2011-10-20
Vous devez vous connecter pour publier un commentaire.
La
ROWNUM
filtre s'applique avant le tri. Ce que vous devez faire est ceci:Lien sympa. Ce n'est pas vraiment lié, cependant, est-il?
OriginalL'auteur Lukas Eder
Envelopper le rownum où dans une autre requête externe:
OriginalL'auteur BigMike