Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL QUERY recherche multiple dans une ligne pour trouver des données d'une autre ligne dans la même table

Le problème s'appelle Relational Division .

SELECT  group_id
FROM    stuff
WHERE   member_id IN (11,22,33)
GROUP   BY group_id
HAVING  COUNT(*) = 3

si member_id n'est pas unique pour chaque group_id , vous devez avoir DISTINCT afin de ne compter que les valeurs uniques.

SELECT  group_id
FROM    stuff
WHERE   member_id IN (11,22,33)
GROUP   BY group_id
HAVING  COUNT(DISTINCT member_id) = 3

Plus de variantes sur ce lien :