sql >> データベース >  >> RDS >> Mysql

タグの正確なセット(多対多の関係)を持つ投稿を見つけるためにクエリを実行します

    これは正確な関係除算の問題です。

    SQL Serverでは、パフォーマンスが優れています メソッド(post_id,tagに一意の制約があると仮定 )は

    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  
    

    したがって、GROUP_CONCATを使用するという考えを排除するつもりはありません。 HAVINGで 代わりに。

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


    1. org.hibernate.internal.util.config.ConfigurationException:cfg.xmlリソースが見つかりませんでした[/HibernateTest/src/hibernate.cfg.xml]

    2. Postgresでのクイックランダム行選択

    3. Postgres:単一の行を複数の行に変換します(ピボット解除)

    4. 時系列データベースのスケーリング-TimescaleDBを単純にスケーリングする方法