Bonjour,
j'aimerais récupérer dans une table le max d'un montant avec des données associées et le tout groupé par "Nom" et "numéro de contrat".
Actuellement j'ai ça
Le problème c'est que je me fais 2 lectures full sur ma table CLIENT qui fait presque 1 million de lignes, ce qui prend du temps.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT C1.NOM, C1.NUM_CTA, C1.MNT_FACTURE, C1.PRENOM, C1.ADRESSE FROM CLIENT C1 WHERE C1.MNT_FACTURE = ( SELECT MAX(C2.MNT_FACTURE) FROM CLIENT C2 WHERE C1.NOM = C2.NOM AND C1.NUM_CTA = C2.NUM_CTA)
Bref j'aimerais faire un truc optimisé mais je ne trouve aucune bonne idée
du style
Alors forcément ça ne marche pas le truc au dessus mais c'est comme ça que j'aimerais faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT C1.NOM, C1.NUM_CTA, MAX(C1.MNT_FACTURE), C1.PRENOM C1.ADRESSE FROM CLIENT C1 GROUP BY C1.NOM, C1.NUM_CTA
Si quelqu'un a une bonne réponse à m'apporter je suis preneur
Merci
Partager