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

複数の値に一致するレコードのグループを検索します

    これは、条件付き集計で行うことができます:

    select parentid 
    from tablename
    group by parentid
    having sum(case when datavalue = 1 then 1 else 0 end) > 0 and
           sum(case when datavalue = 6 then 1 else 0 end) > 0
    

    別の方法は、existsを使用することです :

    select distinct parentid
    from tablename t1
    where exists(select * from tablename where parentid = t1.parentid and datavalue = 1) and
          exists(select * from tablename where parentid = t1.parentid and datavalue = 6)
    

    別の方法は、個別の発生をカウントすることです:

    select parentid 
    from tablename
    where datavalue in(1, 6)
    group by parentid
    having count(distinct datavalue) = 2
    



    1. SQLServerのテーブルにあるすべての外部キーを一覧表示する

    2. mysqlは日付形式から年を抽出します

    3. MySQL-複雑さ:SELECT COUNT(*)FROM MyTable;

    4. SQLiteのバージョンを確認してください