fog, если у тебя версия 4.1, то можешь сделать все вот так и даже одним запросом:
[sql]
SELECT t2.phone, t2.time FROM (SELECT phone, MAX(time) maxdate FROM table GROUP BY phone ORDER BY time DESC) t1, table t2 WHERE t1.phone=t2.phone ORDER BY t1.maxdate DESC, t2.time DESC;
[/sql]
если ниже, то переписываешь запрос с использованием временной таблицы, т.е. в виде 2х запросов:
1. выборка во временную таблицу, соответствует внутреннему SELECT
2. выборка необходимых данных
> в этом случае в группе будет только одно значение, максимальное, а нужно все значения для данной группы
Для этого и нужен второй запрос, как сказал Тони