Detta kommer att välja alla konversationer som har användare 1 eller användare 2, eller båda, men ingen annan:
select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)
Om du också vill ha alla konversationer som har exakt användare 1 och 2, och ingen annan, måste du också lägga till ett och villkor:
select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)
and count(*) = 2 -- number of elements in set
Om användar-ID kan dupliceras är det också bättre att använda distinkt:
select conversationID
from conversations
group by conversationID
having
count(distinct userID) = count(distinct case when userID in (1,2) then userID end)
and count(distinct userID) = 2 -- number of elements in set