Dai un'occhiata:
SELECT *
FROM messages_status mst
INNER JOIN (SELECT messages.* FROM messages INNER JOIN (
SELECT sender_ID,conv_id,MAX(created_at) as maxtime FROM messages
GROUP BY sender_ID,conv_id) as t1 ON
t1.sender_id = messages.sender_id AND t1.conv_id = messages.conv_id AND
t1.maxtime = messages.created_at) msg
ON mst.msg_id=msg.id
WHERE mst.user_id = 1 AND mst.status NOT IN (0,3)
ORDER BY msg.created_at DESC
questo è il link