sql >> Databasteknik >  >> RDS >> Mysql

Mysql:hur väljer man grupper som har vissa värden?

Om det inte finns några unika begränsningar försök:

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

Eller använd denna HAVING klausul, om du försöker upptäcka endast två tag_id värden:

HAVING MIN(tag_id) <> MAX(tag_id)

Om post_id och tag_id båda har en unik restriktion bör detta också fungera:

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


  1. Hur man ställer in destinationskatalog för arkivlogg i Oracle-databasen

  2. Oracle-schemaanvändare kan inte skapa tabell i proceduren

  3. FEL 1067 (42000):Ogiltigt standardvärde för 'created_at'

  4. Den officiella Microsoft Access Tech-bloggen är nu online!