使用postgres,我有一个包含conversations
和conversationUsers
的模式。每个conversation
有多个conversationUsers
。我希望能够找到具有确切指定数量的conversationUsers
的对话。换句话说,如果提供一组userIds
(比如[1, 4, 6]
),我希望能够找到只包含这些用户的对话,而不包含更多用户。
到目前为止,我已经尝试了这个:
SELECT c."conversationId"
FROM "conversationUsers" c
WHERE c."userId" IN (1, 4)
GROUP BY c."conversationId"
HAVING COUNT(c."userId") = 2;
不幸的是,这似乎也返回了包括这两个用户在内的对话。(例如,如果对话还包括"userId"
5,则返回结果)。
暂无答案!
目前还没有任何答案,快来回答吧!