N0obУ меня задействованы 2 таблицы.
1) Диалоги (в которых записываю последнее сообщение, дату, кто-кому).
2) Сообщения (тут уже все сообщения).
Обращение ко второй таблице идёт только тогда, когда человек раскрывает диалог с конкретным пользователем, чтобы почитать всю переписку.
_________________________________
Если не хочешь так, то можешь сделать через группировку, тогда получишь ID всех собеседников, а дальше доставать для каждого из них по 1 последнему в цикле или через подзапрос. Кажется ужасным, увы, да
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).