select t.* from
(select max(id) id from
(
select `message_ls01` userID, `message_ls02` userID2, max(id) id from `message_ls` where `message_ls01` = '$id_online' group by `message_ls01`, `message_ls02`
union all
select `message_ls02` userID, `message_ls01` userID2, max(id) id from `message_ls` where `message_ls02` = '$id_online' group by `message_ls02`, `message_ls01`
)
b group by userID, userID2)
a left join `message_ls` t on t.id = a.id ORDER BY t.id DESC
_____________
Принимаю заказы, писать в ЛС