Je veux pouvoir sélectionner un groupe de lignes dans une table d'e-mails et les regrouper par expéditeur. Ma requête ressemble à ceci:
SELECT
`timestamp`, `fromEmail`, `subject`
FROM `incomingEmails`
GROUP BY LOWER(`fromEmail`)
ORDER BY `timestamp` DESC
La requête fonctionne presque comme je le souhaite - elle sélectionne les enregistrements groupés par e-mail. Le problème est que le sujet et l'horodatage ne correspondent pas à l'enregistrement le plus récent pour une adresse e-mail particulière.
Par exemple, il peut renvoyer:
fromEmail: john@example.com, subject: hello
fromEmail: mark@example.com, subject: welcome
Lorsque les enregistrements de la base de données sont:
fromEmail: john@example.com, subject: hello
fromEmail: john@example.com, subject: programming question
fromEmail: mark@example.com, subject: welcome
Si le sujet "question de programmation" est le plus récent, comment puis-je faire en sorte que MySQL sélectionne cet enregistrement lors du regroupement des e-mails?