を使用して削除できるように、テーブル内の重複行の ID のリストを取得する必要がありますwhere id in
。これが私のテーブルです:
id|col1|col2
1 |22 | text
2 |22 | text
3 |23 | text
4 |22 | text2
したがって、ここでは id1
と2
は重複していますが、その他は重複していません。だから私はそれらを使用してそれらを取得する方法を知っていますgroup by and having count(*) > 1
しかし、私は1つを保持し、他のものを削除したい. したがって、これは、重複のパージ後にこのテーブルがどのように見えるかです:
id|col1|col2
1 |22 | text
3 |23 | text
4 |22 | text2
また :
id|col1|col2
2 |22 | text
3 |23 | text
4 |22 | text2
どちらでもいいです。これどうやってするの?重複を取り除きますが、最後に重複の 1 つを保持して、もう重複しないようにしますか?
私の次の目標は、これらのフィールドにインデックスを追加して、これが再び起こらないようにすることです。