par
pierreC » 30 mars 2009, 16:28
Hello,
Si le titre etait facile à écrire la recherche google le serait aussi. Je viens donc ici poser ma question.
j'ai une table de commandes avec 3 colonnes, id_cl, date, type_achat.
J'ai besoin d'effectuer une requete qui me retournera les clients de maniere unique selon 2 critères et un regroupement.
Raisonnement etape par etape :
Regroupement d'bord sur l'id_cl, avec une agrégation sur max(date). Jusque là c'est pas dure la requete est :
SELECT id_cl,max(date) FROM commande GROUP BY id_cl
Mais je peut avoir 2 dates identique, type_achat entre donc en compte. Je dois choisir parmis 3 type_achat avec comme ordre de priorité : abo, vpc, autre
exemple avec ces données :
1 2009-08-10 abo
1 2009-08-12 vpc
1 2009-08-12 abo
1 2009-08-12 autre
Ceci ne devra me renvoyer une ligne :
1 2009-08-12 abo
Y a t'il dans mysql une fonction d'agration sur une priorité dans une liste de valeur ?
Ou bien une logique tout autre pour arriver au meme résultat ?
Merci