Tôi muốn có thể chọn một loạt các hàng từ một bảng e-mail và nhóm chúng theo người gửi từ. Truy vấn của tôi trông như thế này:
SELECT
`timestamp`, `fromEmail`, `subject`
FROM `incomingEmails`
GROUP BY LOWER(`fromEmail`)
ORDER BY `timestamp` DESC
Truy vấn gần như hoạt động như tôi muốn - nó chọn các bản ghi được nhóm theo e-mail. Vấn đề là chủ đề và dấu thời gian không tương ứng với bản ghi gần đây nhất cho một địa chỉ e-mail cụ thể.
Ví dụ: nó có thể trả về:
fromEmail: john@example.com, subject: hello
fromEmail: mark@example.com, subject: welcome
Khi các bản ghi trong cơ sở dữ liệu là:
fromEmail: john@example.com, subject: hello
fromEmail: john@example.com, subject: programming question
fromEmail: mark@example.com, subject: welcome
Nếu chủ đề "câu hỏi lập trình" là chủ đề mới nhất, làm cách nào để MySQL chọn bản ghi đó khi nhóm các e-mail?