sql >> Databasteknik >  >> RDS >> Mysql

SQL QUERY flera sökningar på en rad för att hitta data från en annan rad i samma tabell

Problemet kallas Relational Division .

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

om member_id är inte unik för varje group_id , du måste ha DISTINCT för att bara räkna unika värden.

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

Fler varianter på denna länk:




  1. skillnaden mellan primärnyckel och unik nyckel

  2. MySQL LIMIT på DELETE-satsen

  3. Åtkomst nekad för användaren 'root'@'localhost' (med lösenord:YES) (Mysql::Error)

  4. Miljövariabeln LD_DEBUG