sql >> Database >  >> RDS >> Mysql

Mysql:hoe selecteer je groepen met bepaalde waarden?

Als er geen unieke beperkingen zijn, probeer dan:

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

Of gebruik deze HAVING clausule, als u slechts twee tag_id . probeert te detecteren waarden:

HAVING MIN(tag_id) <> MAX(tag_id)

Als post_id en tag_id beide een unieke beperking hebben, zou dit ook moeten werken:

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


  1. Microsoft SQL Server JDBC-stuurprogramma's installeren in Pentaho Data Integration en BA Server-tools

  2. MySQL Galera-clusterreplicatie gebruiken om een ​​geo-gedistribueerde cluster te maken:deel twee

  3. Problemen bij het openen van een MDF-bestand omdat er SQL-fout 5171 staat? - Een gastpost van Andre Williams

  4. PHP mysql doorzoek meerdere tabellen met een trefwoord