min d'une colonne et selection d'une autre
Posté : 04 juil. 2009, 11:08
Hello à tous,
J'ai un problème récurent, que je résoud par deux solutions que je vais exposé mais qui sont à mon gout beaucoup trop compliqué.
J'ai une table :
Je dois faire une agrégation (group by) sur email, récupérer le min de l'age et le prenom associé (et c'est là que c'est dur)
cela me donnerait :
Mais si j'ecris SELECT email,prenom,min(age) FROM client GROUP BY email , ca ne me récupère pas avec certitude le non prénom.
1ere sol trouvé récupérer d'abord l'id des lignes sans le prénom puis refaire une jointure pour récupérer le prénom
2eme sol faire une table temporaire trié par age, et le résultat du group by ne sélectionnera que la 1ere ligne (c'est pas beau mais ca marche)
Mais l'une ou l'autre solution deviennent tres lourde quand j'ai 20 colonnes
Des idées ?
Merci
[/quote]
PS : merci de ne pas débattre sur la structure de la table, cela provient d'une source externe sur laquelle je n'ai pas la main.
J'ai un problème récurent, que je résoud par deux solutions que je vais exposé mais qui sont à mon gout beaucoup trop compliqué.
J'ai une table :
Code : Tout sélectionner
email / prenom / age
[email protected] , titi , 16
[email protected] , juju , 24
[email protected] , pierre , 12
[email protected] , eric , 10
cela me donnerait :
Code : Tout sélectionner
[email protected] , titi , 16
[email protected] , eric , 10
1ere sol trouvé récupérer d'abord l'id des lignes sans le prénom puis refaire une jointure pour récupérer le prénom
2eme sol faire une table temporaire trié par age, et le résultat du group by ne sélectionnera que la 1ere ligne (c'est pas beau mais ca marche)
Mais l'une ou l'autre solution deviennent tres lourde quand j'ai 20 colonnes
Des idées ?
Merci
[/quote]
PS : merci de ne pas débattre sur la structure de la table, cela provient d'une source externe sur laquelle je n'ai pas la main.