我在查找给定 user_id 之间的对话时遇到问题。
SQL表:
+-------------------+
| conversation_user |
+-------------------+
| conversation_id |
| user_id |
+-------------------+
我试过了
SELECT `conversation_id` FROM `conversation_user` WHERE `user_id` IN (X, Y) HAVING COUNT(*) = N
但它不能正常工作。知道如何选择正确的 conversation_id 吗?对话可以在一个或多个用户之间进行。
编辑:
+-----------------+---------+
| conversation_id | user_id |
+-----------------+---------+
| 1 | 1 |
| 1 | 2 |
+-----------------+---------+
| 2 | 1 |
| 2 | 3 |
+-----------------+---------+
| 3 | 1 |
+-----------------+---------+
| 4 | 1 |
| 4 | 2 |
| 4 | 3 |
+-----------------+---------+
假设我想获取用户 1 和 2 之间的对话。结果必须是 1,而不是 1 和 4 或 4。