電子メールのテーブルから一連の行を選択し、送信者ごとにグループ化できるようにしたい。私のクエリは次のようになります:
SELECT
`timestamp`, `fromEmail`, `subject`
FROM `incomingEmails`
GROUP BY LOWER(`fromEmail`)
ORDER BY `timestamp` DESC
クエリはほぼ期待どおりに機能します。電子メールでグループ化されたレコードが選択されます。問題は、件名とタイムスタンプが特定の電子メールアドレスの最新のレコードに対応していないことです。
たとえば、次のように返されます。
fromEmail: john@example.com, subject: hello
fromEmail: mark@example.com, subject: welcome
データベースのレコードが次の場合:
fromEmail: john@example.com, subject: hello
fromEmail: john@example.com, subject: programming question
fromEmail: mark@example.com, subject: welcome
「プログラミングの質問」の件名が最新の場合、電子メールをグループ化するときにMySQLにそのレコードを選択させるにはどうすればよいですか?