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
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
-
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. -
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 -
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;
-
ahhhhhhhhhh marche pas ce DESC !! rien afaire
une autre idée ??? -
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 -
bien sur que j'ai mysql mais rien a faire je trouve pas la solution de trier par date DESC!!!!
-
si té en local télécharge mysql c plus simple