Tím se vyberou všechny konverzace, které mají uživatele 1 nebo uživatele 2 nebo oba, ale nikoho jiného:
select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)
Pokud chcete také všechny konverzace, které mají přesně uživatele 1 a 2, a nikoho jiného, musíte také přidat podmínku a:
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
Pokud lze ID uživatele duplikovat, je také lepší použít odlišné:
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