Je veux être en mesure de sélectionner un groupe de lignes d'une table des e-mails et de les regrouper par la part de l'expéditeur. Ma requête ressemble à ceci:
SÉLECTIONNEZ
emailID
,fromEmail
,subject
,timestamp
, MIN(read
) commeread
DEincomingEmails
OÙtoUserID
= '$userID' GROUPE PAR la BAISSE(fromEmail
) COMMANDE PARtimestamp
DESC
La requête fonctionne presque comme je le veux--il sélectionne les enregistrements regroupés par e-mail tel qu'il n'existe qu'une seule ligne par e-mail. Le problème est que le emailID, l'objet et le timestamp ne correspond pas nécessairement à la plus récente des e-mails d'un particulier à partir de l'e-mail.
Par exemple, il peut retourner:
De: john@example.com Sujet: bonjour
De: mark@example.com Sujet: bienvenue
Lorsque les enregistrements dans la base de données sont:
De: john@example.com Sujet: bonjour
De: john@example.com Sujet: question de programmation
De: mark@example.com Sujet: bienvenue
Si la programmation de la question de l'e-mail est la plus récente, comment puis-je obtenir MySQL pour sélectionner l'enregistrement lorsque vous regroupez les e-mails?