Problème avec une boucle mysql et group by

Fermé
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 30 juin 2015 à 19:37
onc Messages postés 26 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 13 février 2016 - 30 juin 2015 à 19:53
Bonjour,

Voici ma situation de départ.
J'ai une table globalement défini comme suis.
[ id | ref| statu | date ]

Elle fonctionne de la manière suivante.
A chaque changement de statu, je fais un nouvel enregistrement ce qui me permet d'avoir un historique des changements.

Je souhaite faire une boucle me permettant d'afficher de manière groupé chaque référence (ref) et le dernier statu de chacune.

Je pensais réussir à faire ça avec une seule requête.
J'ai donc tenté:
SELECT * FROM ma_table GROUP BY ref ORDER BY date DESC

Je problème est qu'il ne m'affiche pas le dernier statu de chacun et en fait c'est assez logique.
En fait, il faudrait qu'en groupant, il le fasse en retenant le dernier enregistrement.
Je sèche un peu...

Auriez-vous une idée à me suggérer?

Merci par avance.


A voir également:

1 réponse

onc Messages postés 26 Date d'inscription samedi 9 octobre 2010 Statut Membre Dernière intervention 13 février 2016 66
30 juin 2015 à 19:53
La comme ça sans trop réfléchir moi je ferais une jointure...

SELECT * FROM `ma_table` T1
INNER JOIN (SELECT `ref`, Max(`date`) as `MaxDate` FROM `ma_table` GROUP BY `ref`) T2
ON T2.`ref`=T1.`ref` AND T2.`MaxDate`=T1.`date`
0