[sql] probleme avec group by
brudao
Messages postés
553
Statut
Membre
-
tobec -
tobec -
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
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"
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"
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()...
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()...