Po prostu użyj wyrażeń w drugim zapytaniu dla funkcji GROUP BY pierwszego zapytania:
SELECT * FROM chat_messages GROUP BY LEAST(to_id,from_id), GREATEST(to_id,from_id)
Po prostu użyj wyrażeń w drugim zapytaniu dla funkcji GROUP BY pierwszego zapytania:
SELECT * FROM chat_messages GROUP BY LEAST(to_id,from_id), GREATEST(to_id,from_id)