0

データベース内のいくつかのテーブルを台無しにして、結果は似ていますがキーが異なります。結果は次のようになります。

1   |2   |3   
5   |25  |25
6   |25  |25
7   |31  |31
8   |31  |31

結果が次のようになるように、これらの重複行を削除したいと思います。

1   |2   |3
5   |25  |25
7   |31  |31

試しSELECT * DISTINCT 2 FROM TABLEましたが、うまくいきませんでした。申し訳ありませんが、私はそれをはるかによく言うことはできません!

4

2 に答える 2

0

試す

delete from your_table
where id not in (
                 select * from (select min(id) from your_table
                                group by col2, col3)
                 t_alias
                )

SQLFiddleの例

于 2012-07-29T17:37:42.367 に答える
0
DELETE FROM the_table dt
WHERE EXISTS ( SELECT *
    FROM the_table ex
    WHERE ex.col2 = dt.col2
    AND ex.col3 = dt.col3
    AND ex.id < dt.id
    );
于 2012-07-29T17:44:15.747 に答える