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

重複する行を削除して、より高い値の行を保持するにはどうすればよいですか?

    delete t1 
    from some_table t1
    join some_table t2
      on  t2.a3 = t1.a3
      and t2.a4 > t1.a4;
    

    デモ: http://rextester.com/RERGD32491

    これにより、A4で最も高い値の行のみが保持されます A3ごと 。 A3に同じ値の2つの行がある可能性があります A4で同じ最高値を持つ 。その場合の処理​​を指定しなかったため、両方の行が保持されます。




    1. GROUP_CONCATmysqlステートメントエラー

    2. java.lang.IncompatibleClassChangeError:クラスcom.mysql.jdbc.Statementが見つかりましたが、インターフェースが必要でした

    3. 列へのデフォルト値(式)を使用したMYSQLテーブルの作成

    4. フィールドの合計がN未満のSQL選択要素