J'ai une requête MySQL comme celle-ci :
SELECT
MAX(messages.ID) as maxID,
messages.from,
messages.read,
users.userName
FROM
messages
LEFT OUTER JOIN
users
ON
users.ID = messages.from
WHERE
messages.to = ?
GROUP BY
messages.from
ORDER BY
maxID DESC
Bien que cela fonctionne bien et que les messages soient groupés par l'utilisateur qui les a envoyés dans l'ordre DESCENDANT, j'ai maintenant un problème lorsque je veux ORDER BY la ligne messages.read. Mon code est le suivant :
SELECT
MAX(messages.ID) as maxID,
messages.from,
messages.read,
users.userName
FROM
messages
LEFT OUTER JOIN
users
ON
users.ID = messages.from
WHERE
messages.to = ?
GROUP BY
messages.from
ORDER BY
messages.read ASC,
maxID DESC
Maintenant, messages.read renvoie la valeur de la ligne du premier message que l'utilisateur a envoyé. Mais j'ai besoin de la valeur du plus récent (ID le plus élevé) que l'utilisateur a envoyé. Je sais que GROUP BY regroupe le premier dans la table, alors comment puis-je contourner ce problème ?
Merci beaucoup d'avance, Fischer