Cherche requete MySQL

Fermé
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 - 30 nov. 2011 à 11:42
 lalalou - 30 nov. 2011 à 20:59
Bonjour,
J'ai un petit soucis avec MySQL que que je vous expose.

J'ai une table qui possède 4 champs id, email, date et action.

Soient les enregistrements suivants :

1 | jean@bob.fr | 01/01/2011 | achete une pizza
2 | jean@bob.fr | 02/01/2011 | achete une voiture
3 | jean@bob.fr | 03/01/2011 | vend sa maison
4 | jean@bob.fr | 04/01/2011 | perd au loto
5 | louis@bob.fr | 04/01/2011 | rencontre une fille
6 | louis@bob.fr | 05/01/2011 | mange un kebab

Imaginons que j'ai plein d'autre utilisateurs identifiés par leurs email.

J'aimerai une requeste qui ne me sort qu'une seule ligne par email mais en me donnant la dernière action. Soit :

4 | jean@bob.fr | 04/01/2011 | perd au loto
6 | louis@bob.fr | 05/01/2011 | mange un kebab

J'ai pensé à :

SELECT * FROM matable GROUP BY email


Mais c'est le premier enregistrement qui sort. Et il semble impossible de faire un ORDER BY avant le GROUP BY.

1 réponse

Je ne sais pas si ça va marcher mais essaies :

SELECT * FROM matable GROUP BY email WHERE date =(SELECT max(date) FROM matable GROUP BY email)
0