Bạn nên tìm ra timestamp
cuối cùng các giá trị trong mỗi nhóm (truy vấn con), rồi nối truy vấn con này vào bảng -
SELECT t1.* FROM messages t1
JOIN (SELECT from_id, MAX(timestamp) timestamp FROM messages GROUP BY from_id) t2
ON t1.from_id = t2.from_id AND t1.timestamp = t2.timestamp;