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

MySQLはphpで同時に複数のIDを選択します

    簡単なアプローチの1つは、集計を使用します。

    SELECT idUser
    FROM skills
    WHERE idSkill IN (4, 9)
    GROUP BY idUser
    HAVING MIN(idSkill) <> MAX(idSkill);
    

    上記のクエリはsargable 、適切なインデックスがidSkillを使用できることを意味します 桁。パフォーマンスを向上させるために、このインデックスを追加することを検討してください:

    CREATE INDEX idx ON skills (idUser, idSkill);
    

    編集:

    このクエリを3つのアイテムに使用します:

    SELECT idUser
    FROM skills
    WHERE idSkill IN (2, 4, 9)
    GROUP BY idUser
    HAVING COUNT(DISTINCT idSkill) = 3;
    


    1. pgsqlでトリガー関数を動的に作成するにはどうすればよいですか?

    2. mysql同じ主キーへのテーブル内の複数の外部キー

    3. PHP 5.3 が MS SQL に接続するネイティブ クライアントを認識しない

    4. mysqlインデックスが完全にメモリに収まるかどうかを判断する方法