Chcę móc wybrać kilka wierszy z tabeli e-maili i pogrupować je według nadawcy. Moje zapytanie wygląda następująco:
SELECT
`timestamp`, `fromEmail`, `subject`
FROM `incomingEmails`
GROUP BY LOWER(`fromEmail`)
ORDER BY `timestamp` DESC
Zapytanie działa prawie tak, jak chcę - wybiera rekordy pogrupowane według wiadomości e-mail. Problem polega na tym, że temat i sygnatura czasowa nie odpowiadają najnowszemu rekordowi dla określonego adresu e-mail.
Na przykład może zwrócić:
fromEmail: john@example.com, subject: hello
fromEmail: mark@example.com, subject: welcome
Gdy rekordy w bazie danych to:
fromEmail: john@example.com, subject: hello
fromEmail: john@example.com, subject: programming question
fromEmail: mark@example.com, subject: welcome
Jeśli temat „pytanie programistyczne” jest najnowszy, jak mogę zmusić MySQL do wybrania tego rekordu podczas grupowania wiadomości e-mail?