Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:Wie wähle ich Gruppen mit bestimmten Werten aus?

Wenn es keine Eindeutigkeitsbeschränkungen gibt, versuchen Sie Folgendes:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(DISTINCT tag_id) = 2;

Oder verwenden Sie dieses HAVING -Klausel, wenn versucht wird, nur zwei tag_id zu erkennen Werte:

HAVING MIN(tag_id) <> MAX(tag_id)

Wenn post_id und tag_id beide eine eindeutige Einschränkung haben, sollte dies auch funktionieren:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(*) = 2;