用于查找具有特定关联数量的行的SQL查询

hc8w905p  于 2022-09-21  发布在  PostgreSQL
关注(0)|答案(0)|浏览(168)

使用postgres,我有一个包含conversationsconversationUsers的模式。每个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,则返回结果)。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题