[sql] probleme avec group by

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
Configuration: Linux
Firefox 2.0.0.16

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. 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"
    1. ben moi je pense qu'il faut mettre
      ORDER BY poids DESC
      AND
      ORDER BY nom
      1. 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()...
        1. non
          order by
          and order by

          normalement tu peux mettre plusieures clauses dans un order by

          order by nom, poids DESC;