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

Mysql Duplicate Rows(2列を使用して重複が検出されました)

    delete from myTable 
    where id not in
    (select min(id)
    from myTable
    group by A, B)
    

    つまり、括弧内のselectは、AとBの各グループの最初のIDを返します。このセットに含まれていないすべてのIDを削除すると、最初の出現の「後続」であるA-plus-Bの組み合わせの出現がすべて削除されます。

    編集 :この構文には問題があるようです:バグレポートを参照してください:

    http://bugs.mysql.com/bug.php?id=5037

    考えられる回避策は、これを行うことです:

    delete from myTable 
    where id not in
    (
          select minid from 
          (select min(id) as minid from myTable group by A, B) as newtable
    ) 
    


    1. CLAUSEのどこにあるmysqlNULL値

    2. 結果をページ分割するときに、クエリを後続のページに転送する方法

    3. BLOBをCLOBに変換する

    4. SQLServerに対するVMwareCPUホットプラグvNUMAの影響