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

SQL QUERY 1つの行を複数検索して、同じテーブルの別の行のデータを検索します

    この問題はRelational Divisionと呼ばれます 。

    SELECT  group_id
    FROM    stuff
    WHERE   member_id IN (11,22,33)
    GROUP   BY group_id
    HAVING  COUNT(*) = 3
    

    member_idの場合 すべてのgroup_idで一意ではありません 、DISTINCTが必要です 一意の値のみをカウントするため。

    SELECT  group_id
    FROM    stuff
    WHERE   member_id IN (11,22,33)
    GROUP   BY group_id
    HAVING  COUNT(DISTINCT member_id) = 3
    

    このリンクのその他のバリエーション:




    1. phpMyAdminを使用してデータベースをエクスポートする方法

    2. このストアドプロシージャの何が問題になっていますか?

    3. MySQLでのgroup_concat_max_lenの最大許容値はいくつですか?

    4. INSERT [...] ON CONFLICTを外部キー違反に使用できますか?