Hola innerjoin:
Ok, me queda claro qué es lo que quieres obtener... lo que tengo duda es ¿cuál es el problema?
En tu post no estás mencionando qué es lo que intentaste hacer, y a partir de esto, si estás obteniendo un error o algo por el estilo.
Te recuerdo que el foro es para ayudarte a resolver DUDAS o problemas específicos, pero que de ninguna manera es para hacer el trabajo de otros.
Para la consulta que necesitas, dale un vistazo a la función MAX y a la cláusula GROUP BY... estas te servirán para obtener el máx id para cada usuario... La única consideración que debes tener es que como no sabes si es un mensaje enviado o recibido, Observa que el MAX(id) para el usuario 4, si consideras sólo la columna to_id, sería el mensaje id=3, pero si consideras la columna from_id, el max(id) sería el id=$... para evitar este problema puedes UNIR las columnas, en una sola... algo como esto:
Código MySQL:
Ver original+------+-------+---------+---------+
| id | to_id | from_id | message |
+------+-------+---------+---------+
+------+-------+---------+---------+
+------+-------+
| id | to_id |
+------+-------+
| 1 | 4 |
| 2 | 1 |
| 3 | 4 |
| 4 | 1 |
| 5 | 1 |
| 6 | 1 |
| 1 | 1 |
| 2 | 4 |
| 3 | 1 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
+------+-------+
12 rows
in set (0.00 sec
)
De esta manera ya no importa si se envió o recibio... dale un vistazo, haz el intento por resolver la consulta, y si continuas con problemas, postea algo de lo que intentaste hacer y con gusto de ayudamos a resolver los problemas que tengas.
Saludos
Leo.