आपको एक सबक्वेरी बनाने की जरूरत है जो किसी दिए गए रिसीवर के लिए सेंडर_आईडी द्वारा अधिकतम संदेश आईडी लौटाती है और अन्य सभी फ़ील्ड प्राप्त करने के लिए इसे संदेश तालिका में शामिल करती है:
SELECT m.*
FROM `message` AS m
INNER JOIN (SELECT sender_id, MAX(message_date) as md
FROM message WHERE `receiver_id` =1 GROUP BY sender_id) AS t
ON m.message_date=t.md and m.sender_id=t.sender_id
WHERE `receiver_id` =1