从@Incidently 借来的创建和插入:
CREATE TABLE T
(id int, status int, conversation_id int, message_id int, date_created datetime);
insert into T (id, status, conversation_id, message_id, date_created)
values(1,     1,         1,                  72,            '2012-01-01 00:00:00');
insert into T (id, status, conversation_id, message_id, date_created)
values(2,     2,         1,                  87,            '2012-03-03 00:00:00');
insert into T (id, status, conversation_id, message_id, date_created)
values(3,     2 ,        2 ,                 95 ,           '2012-05-05 00:00:00');
假设 id 是主键,那么这就解决了@Joe 的回答中@Incidentally 指出的问题:
select T.*
from 
    T
    inner join (
        select conversation_id, max(id) as id
        from T
        group by conversation_id
    ) s on s.id = T.id
order by T.date_created desc, T.conversation_id
;
+------+--------+-----------------+------------+---------------------+
| id   | status | conversation_id | message_id | date_created        |
+------+--------+-----------------+------------+---------------------+
|    3 |      2 |               2 |         95 | 2012-05-05 00:00:00 |
|    2 |      2 |               1 |         87 | 2012-03-03 00:00:00 |
+------+--------+-----------------+------------+---------------------+