SQL group by et order

fred -  
P@t@ch0n Messages postés 603 Statut Membre -
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

7 réponses

canarder Messages postés 2034 Statut Membre 355
 
si té en local télécharge mysql c plus simple
0
fred
 
bien sur que j'ai mysql mais rien a faire je trouve pas la solution de trier par date DESC!!!!
0
Pilow Messages postés 410 Statut Membre 71
 
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
0
fred
 
ahhhhhhhhhh marche pas ce DESC !! rien afaire

une autre idée ???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
P@t@ch0n Messages postés 603 Statut Membre 85
 
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;
0
fred
 
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
0
P@t@ch0n Messages postés 603 Statut Membre 85
 
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.
0