Php SQL查询在一行中进行多次搜索,以从同一表中的另一行中查找数据
我需要一些代码方面的帮助 我有一个名为“stuff”的数据库表,我有以下信息:Php SQL查询在一行中进行多次搜索,以从同一表中的另一行中查找数据,php,mysql,sql,Php,Mysql,Sql,我需要一些代码方面的帮助 我有一个名为“stuff”的数据库表,我有以下信息: +------+-------------+---------------------+ | id | member_id | group_id | +------+-------------+---------------------+ | 1 | 11 | aa | +------+-------------+--------
+------+-------------+---------------------+
| id | member_id | group_id |
+------+-------------+---------------------+
| 1 | 11 | aa |
+------+-------------+---------------------+
| 2 | 22 | aa |
+------+-------------+---------------------+
| 3 | 33 | aa |
+------+-------------+---------------------+
| 4 | 44 | bb |
+------+-------------+---------------------+
| 5 | 55 | bb |
+------+-------------+---------------------+
| 6 | 66 | bb |
+------+-------------+---------------------+
如果我搜索一个组中的所有3个成员,我需要找到组id
比如:
SELECT group_id
FROM stuff
WHERE member_id=11 and member_id=22 and member_id=33
我知道这个查询是无效的,但我不知道如何使它有效
非常感谢。这个问题叫做
关系划分
SELECT group_id
FROM stuff
WHERE member_id IN (11,22,33)
GROUP BY group_id
HAVING COUNT(*) = 3
如果不是每个组id
的成员id
都是唯一的,则需要有不同的,以便只计算唯一的值
SELECT group_id
FROM stuff
WHERE member_id IN (11,22,33)
GROUP BY group_id
HAVING COUNT(DISTINCT member_id) = 3
此链接的更多变体: