SQL group by et order

Bonjour,

voila j'ai un treuc tou bete a faire mais je n'y arrive pas!!

je veux faire ca comme requete

SELECT * FROM `import` WHERE nom = 'dricot' group by nom , prenom, adresse order by date DESC

il y a 10 dricot m'en ressort que un bien sur mais pas celui qui a la date la + recente!! c'est quoi l'astuce merci d'avance!!!

fred
Configuration: Windows XP
Firefox 3.5.3

7 réponses

  1. bien sur que j'ai mysql mais rien a faire je trouve pas la solution de trier par date DESC!!!!
    1. select * from (select * from ... order by ...) group by ...


      En ton cas, un truc genre :

      select * from (select * from TATABLE where nom=dricot order by date desc) group by nom, prenom, adresse


      Pas géré par toutes les bases

      Tu fais ton select groupé sur toutes les valeurs (deuxième select) ordonnées par date DESC

      EDIT PS : Ce n'est qu'une idée, aucune assurance de résultats
      1. Revois la doc sur le group by, tu n'as pas bien compris à quoi il sert.

        SELECT * FROM `import` WHERE nom = 'dricot'  ORDER BY date DESC LIMIT 1;
        1. hum oki !

          donc merci pour ta reponse!

          mais c'est + compliqué que ca !

          la vari requete se fait sur la base en entier j'avaois mis le nom juste ppour reduire ma requete !

          la vari requette sera ça

          SELECT *
          FROM `import`
          GROUP BY nom
          ORDER BY date DESC

          et la forcement le limit ne sert plus a grand chose!!

          a moi que tu es la solution ;)

          fred
          1. Ok, donc là si j'ai bien compris, c'est la ligne de chaque groupe avec la date max.

            ce sujet devrait te donner la solution.