我有一张这样的桌子:
---------------------
| id | user | group |
---------------------
| 0 | 103 | 27 |
| 1 | 107 | 31 |
| 2 | 103 | 32 |
| 3 | 112 | 31 |
| 4 | 135 | 64 |
| 5 | 135 | 66 |
---------------------
这是组和用户表,如您所见,可以有相同用户和不同组的记录。例如,如何选择具有相同用户和两个组的记录 - 27 和 32?这将是同一个用户。
那么,我该怎么做呢?
编辑:为了显示预期的结果,我写了一个示例:
SELECT user FROM table ... (maybe WHERE group = 27 AND group = 32)
-- 给出用户 id 103
编辑2: 我找到了!
这是对我非常有用的查询:
SELECT * FROM table
WHERE `user` in
(
SELECT `user` FROM table
WHERE `group` = <needed_group_1>
)
AND `group` = <needed_group_2>
感谢大家的帮助,我发现您的所有答案都很有用!