1 kullanıcı ile iletişime geçmiş N tane kullanıcı olabilir.

listede kişileri göstermek için : Group By kullanınız.

pseudo;

query = select senderId from kullanicilar where recevierId = 1 group by senderId order by senderId desc

query'den dönen listesi while/for loop ile don

loop içinde (senderId listesi -> query'den gelen)

SELECT * FROM mesajTablonuz where receiverId=1 and senderId = {querySenderId} ORDER BY id DESC LIMIT 1;
//kişinin gönderdiği son mesaj..

loop end