Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mysql:como selecionar grupos com determinados valores?


Se não houver restrições exclusivas, tente:
SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(DISTINCT tag_id) = 2;

Ou use este HAVING cláusula, se tentar detectar apenas dois tag_id valores:
HAVING MIN(tag_id) <> MAX(tag_id)

Se post_id e tag_id tiverem uma restrição exclusiva, isso também deve funcionar:
SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(*) = 2;