根据可变列数删除具有重复值的行

Removing rows with duplicate values based on variable number of columns

考虑以下 table


第 1 列 |专栏2 |专栏3 | column4

一个 |乙 | 1 | 2
一个 |乙 | 2 | 3
一个 | c | 2 | 4

我想删除基于 cloumn1column2 的重复项,并只保留一个这样的实例。因此上面的 table 应该看起来像

一个 |乙 | 1 | 2
一个 | c | 2 | 4

我试过像这样添加唯一索引

ALTER IGNORE TABLE `my_table` 
ADD UNIQUE INDEX `index1` (`column1` ASC, `column2` ASC);

这应该可以完美地工作,但是

As of MySQL 5.7.4, the IGNORE clause for ALTER TABLE is removed and its use produces an error.

那么这个场景的替代方案是什么?

注意:这不是重复的问题。在问这个之前我已经搜索过了。请在标记为重复之前再次阅读

您可以删除重复的行

delete  my_table 
where id not in (select t.id from ( 
select min(id)  as id from my_table
group by column1, column2 ) as t )