Ini akan memilih semua percakapan yang memiliki pengguna 1 atau pengguna 2, atau keduanya, tetapi tidak ada orang lain:
select conversationID
from conversations
group by conversationID
having count(*) = count(case when userID in (1,2) then 1 end)
Jika Anda juga ingin semua percakapan yang memiliki pengguna 1 dan 2 persis, dan tidak ada orang lain, Anda juga harus menambahkan an dan condition:
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
Jika userID dapat diduplikasi, lebih baik menggunakan yang berbeda:
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