【发布时间】:2017-12-01 03:05:20
【问题描述】:
我有一个对话应用程序,用户被分配到对话中。 一个对话可以有 1、2 或更多参与者,我使用表格将用户链接到对话:
当用户 5 想与用户 6 发起新对话时,我不想创建新对话,因为用户 5 和 6 已经有一个正在进行的 conversation_id。
他们实际上还与用户 10 进行了不同的群组对话
我有 2 个参数:用户 5 想要与 用户 6 交谈 如何查询此表以查找是否仅在这 2 个用户之间存在对话?
我试过这个:
SELECT *,count(id) FROM `conversation_members`
WHERE user_id IN (5,6)
GROUP BY `conversation_id`
但是
- 这也返回对话 id 2,而我希望有 只有 id 1,所以我想将选择查询限制为元素 计数为 2,如果我在失去能力之前进行分组 来匹配用户。
- 这也返回 id 7,因为它匹配 2 个 user_id 中的 1 个 它应该同时匹配
最后我只想检索 ID 1,因为这是包括用户 5 和 6 以及 nobody else 的对话。这只能通过 Mysql 查询实现吗?
【问题讨论】: