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

Mysql:hvordan vælger man grupper med bestemte værdier?

Hvis der ikke er nogle unikke begrænsninger, prøv:

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

Eller brug denne HAVING klausul, hvis du prøver kun at finde to tag_id værdier:

HAVING MIN(tag_id) <> MAX(tag_id)

Hvis post_id og tag_id begge har en unik begrænsning, burde dette også fungere:

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


  1. 2 eksempeldatabaser til SQLite

  2. Sådan dokumenterer du en database

  3. Er fremmednøgler virkelig nødvendige i et databasedesign?

  4. Mens du udfører PITR, ville det være muligt at pause/genoptage i PostgreSQL?