Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:come selezionare i gruppi con determinati valori?

Se non ci sono vincoli univoci, prova:

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

Oppure usa questo HAVING clausola, se si tenta di rilevare solo due tag_id valori:

HAVING MIN(tag_id) <> MAX(tag_id)

Se post_id e tag_id hanno entrambi un vincolo univoco, anche questo dovrebbe funzionare:

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