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. 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.
    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. 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. 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. bien sur que j'ai mysql mais rien a faire je trouve pas la solution de trier par date DESC!!!!