[sql] probleme avec group by

Fermé
brudao Messages postés 524 Date d'inscription samedi 10 février 2007 Statut Membre Dernière intervention 16 octobre 2014 - 15 janv. 2009 à 13:19
 tobec - 15 janv. 2009 à 14:35
Bonjour,
je vais prendre un petit exemple pour essayer de matérialiser mon problème

table personne (une table mysql avec des enregistrements)
mlle nom prenom poids
8 nom1 Pre1 67
8 nom1 Pre2 80
7 nom2 Pre2 57
.. ... ... ..
2 nom5 pre5 78

requete="select mlle, nom , prenom, poids where poids>50 from personne group by mlle order by nom";

la requete (group by) renvoie dans mon exemple: 8 nom1 Pre1 67
7 nom2 Pre2 57
2 nom5 pre5 78

je veux que lorsqu'il regroupe (group by) qu'il me renvoi le plus grand poids
c'est à dire ici : 8 nom1 Pre1 80 au lieu de 8 nom1 Pre1 67

4 réponses

salut

je ne suis pas convaincu que ce soit la solution a ton problème mais tu peux toujours essayer^^

dans ta clause "order by", ajoute "poids DESC"
0
william7007 Messages postés 335 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 46
15 janv. 2009 à 14:18
ben moi je pense qu'il faut mettre
ORDER BY poids DESC
AND
ORDER BY nom
0
Salut
Je ne vois pas vraiment à quoi correspond mlle, serait-ce ta clé primaire auquel cas tu ne peut avoir deux le même enregistrement.
et sinon si tu veut seulement récuperé la plus grande valeur ta requète devrait ressembler à ceci:
select mlle, nom, prenom, poids Max(poids) from personne;
le group by ne sert que dans le cas d'un sum(), count()...
0
non
order by
and order by


normalement tu peux mettre plusieures clauses dans un order by

order by nom, poids DESC;
0