Bonjour, j'ai un petit pb. apres un peu de gymnastik et de jointure sur des tables j'obtients des resultats de cette forma famille| X2 | X3 | X4 | A ----------------------------------- a | jj | gty | hh | 1 a | g | gty | hh | 3 c | t | gty | hh | 1 c | jj | gty | hh | 4 Ce que je souhaiterais fair c'est répérer les lignes correspondant au maximum de la colonne A et les afficher en gros je voudrais avoir: famille| X2 | X3 | X4 | A ----------------------------------- a | g | gty | hh | 3 c | jj | gty | hh | 4 De l'aide svp merci !!
SELECT famille, X2, X3, X4, A FROM tatable GROUP BY famille, X2, X3, X4 HAVING A = max(A)
Documente toi sur la fonction max() et la clause group by. Deux liens pour progresser : http://sqlpro.developpez.com/cours/sqlaz/ensembles/ http://sqlpro.developpez.com/cours/sqlaz/fonctions/ EDIT : grilled
T'as abusé sur le group by je crois
arf c'est SELECT famille, X2, X3, X4, A FROM tatable GROUP BY famille, X2, X3 HAVING X4 = max(X4) Du coup ca fout la merde pour le A
merci, mais c'est pas tout a fait ca que je veux
Je vois ce que tu veux. Maintenant, niveau perf je ne sais pas tro pce que ca peut donner: SELECT t1.famille, t1.X2, t1.X3, t1.X4, t1.A FROM tatable t1 WHERE t1.A = (SELECT max(t2.A) FROM tatable t2 WHERE t2.famille = t1.famille)
Merci bcp, ca marche tres bien, c vrai que c'est un peu lent, mais ca marche. une fois de plus merci !!!