ऐसा लगता है कि आप विशिष्ट . चाहते हैं उन लोगों की सूची जिनसे दवे बात कर रहे हैं:
select (case when receiver = 'Dave' then Sender else Receiver end)
from messages m
where 'Dave' in (Receiver, Sender)
group by (case when receiver = 'Dave' then Sender else Receiver end)
order max(date) desc;