sql >> Databáze >  >> RDS >> Mysql

Dotaz k nalezení příspěvků s přesnou sadou značek (vztah mnoho k mnoha)

Toto je přesný problém relačního dělení.

V SQL Server dobře fungující metoda (za předpokladu jedinečného omezení na post_id,tag ) je

SELECT post_id
FROM   post_tags
GROUP  BY post_id
HAVING MIN(CASE
             WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
             ELSE 0
           END) = 1
       AND SUM(CASE
                 WHEN Keyword IN ( 'clever', 'interesting' ) THEN 1
                 ELSE 0
               END) = 2  

Takže bych nevylučoval myšlenku použití GROUP_CONCAT v HAVING místo toho.

HAVING GROUP_CONCAT(DISTINCT Keyword ORDER BY Keyword) = 'clever,interesting'


  1. Co je nového v PgBouncer 1.6

  2. Co je špatného na této uložené proceduře?

  3. Nastavit NOW() jako výchozí hodnotu pro datový typ datetime?

  4. Generování náhodného čísla v každém řádku v Oracle Query