SELECT id,CONCAT(case when to_id !=1 then to_id else '' end,case when from_id!=1 then from_id else '' end) tofrom,message,date FROM `msg` WHERE to_id=1 OR from_id=1 ORDER BY id DESC
На выходе получается такая таблица
id | tofrom | message | date
17 | 3 | че почем!? | 2014-01-08 20:58:10
16 | 3 | Хай братуха | 2014-01-08 20:57:53
15 | 7 | привет | 2014-01-08 20:49:34
14 | 7 | привет | 2014-01-08 20:49:14
10 | 7 | как дела | 2014-01-07 18:01:22
7 | 3 | Ау! | 2014-01-06 19:28:41
2 | 3 | 111111 | 2013-12-25 07:41:11
Как теперь их сгруппировать при помощи mysql с сортировкой. Чтобы на выходе было:
id | tofrom | message | date
17 | 3 | че почем!? | 2014-01-08 20:58:10
15 | 7 | привет | 2014-01-08 20:49:34
Буду благодарен за любую подсказку!