Necesito una mano muy grande, vi que es un tema que se habló varias veces en el foro, pero no puedo dar con la solución ='(
El tema es el siguiente:
Tengo una base de datos con mensajes. Esta es su estructura
mensaje_id | id_reimtente | id_destinatario | leido_mensaje | fecha | cuerpo
Básicamente cuando el usuarios 1 envía un mensaje y el usuario 2 responde a ese mensaje la tabla queda de la siguiente forma

Esto quiere decir que entre usuario 1 y usuario 2 hay una conversación....
Para listarla es fácil, simplemente hago un select * donde las ids sean 1 y 2 (o viceversa) y las ordeno por fecha.
El problema está cuando quiero mostrar las conversaciones que esta llevando, yo tendria que pedirle todos los registros en los que el usuario está como remitente (o como destinatario) pero a su vez decirle que no me repita los resultados. Osea que, si usuario 1 (remitente) ya fue encontrado en una conversación con usuario 2 (destinatario) y luego encuentra la inversa (Usuario 1 destinarario Y usuario 2 remitente) no me lo muestre.
¿Alguna idea? Me estoy rompiendo el coco pero no entiendo!
Gracias desde ya!
Saludos