Salve a tutti, ho una tabella conversazioni dove sono contenute tutte le conversazioni scambiate tra più utenti. Supponiamo una tabella cosi composta:

|id|mittente|destinatario|messaggio|data|
|5| paolo| luca | ciao|----|
|4| marco| luca | aa| ----|
|3| luca | paolo| bbb| ---|
|2| alberto| gianni|ccc|---|


L'utente che esegue la richiesta è "paolo" quindi dalla query vorrei ottenere solo questa riga:
|5| paolo| luca | ciao|----|
che sarebbe la mia "testata" della conversazione"

Se la richiesta fosse fatta da "luca" le righe sarebbero:
|5| paolo| luca | ciao|----|
|4| marco| luca | aa| ----|


cioè gli utimi messaggi inviati da "luca" agli altri utenti.

Ora ho una query di questo tipo:

Codice:
SELECT * FROM chat_utenti WHERE id IN (SELECT MAX(id) FROM chat_utenti WHERE (mittente = '$utenteLog' OR destinatario = '$utenteLog') GROUP BY mittente) ORDER BY id DESC
che però mi ritorna 2 messaggi per ogni utente, cioè l'ultimo inviato e l'ultimo ricevuto (se presenti) di ogni conversazione.