Bonjour,

Je me tourne vers vous pour une requête que je qualifierai "d'amateur". Mais après 3heures, je ne suis pas certains que ça soit avec 5heures de plus que je parviendrai à obtenir ce que je souhaite xD

J'ai essayé avec "distinct/group by/desc/max/limit", mais en vain ^^

pseudo------datemessage-----------forum
Jean-----------12/05/15 12h12-------A
Paul-----------12/05/15 12h15-------A
Marc----------12/05/15 12h17-------A
Pierre--------12/05/15 12h19-------B
Patrick-------12/05/15 12h20-------B

En résumé, j'essaie de récupérer le dernier message de "forum"
Et tout cela cloturé par une boucle.

Comme tentative :
SELECT forum,datemessage FROM matable GROUP BY forum ORDER BY datemessage DESC

...ce qui m'affiche le premier message (et non pas le dernier).
Par contre, quand je retire le "GROUP BY", ça fonctionne.

C'est plus compliqué que je ne le pense ou ... ?

3 réponses


Huggy
Réponse acceptée

Bonsoir Brandon93,
je dirais

SELECT forum, MAX(datemessage) AS dernier FROM matable GROUP BY forum

tu devrais avoir une ligne par forum et la date la plus récente qui va avec

Antoine Courtin
Réponse acceptée

Hello Brandon,

Une solution simple à ton problème, ajoute un ID pour chaque message qui s'auto incrémente à chaque nouvelle entrée.

SELECT *
FROM matable
ORDER BY id DESC
LIMIT 1,1;

Hop ! Encore un acquis.
Je découvre en même temps comment utiliser le MAX (je n'avais pas mis le AS)
Prochaine étape : éviter de se donner des objectifs en PHP, ça évite la frustration en fin de journée ahah.
Merci à vous :)