我有一个这样的表:
id id2
1 435
2 345
3 345
4 567
5 456
6 987
7 987
这里 id2
345
和 987
重复了两次,所以我想删除这两行。我的新表应如下所示:
id id2
1 435
4 567
5 456
最佳答案
您可以通过使用聚合从 select
中删除它们:
select min(id), id2
from t
group by id2
having count(*) = 1;
如果要从表中删除它们,请使用join
和group by
:
delete t
from t join
(select id2, count(*) as cnt
from t
group by id2
) tt
on t.id2 = tt.id2
where cnt > 1;
关于mysql - 如何删除所有重复行,包括 SQL 中的原始行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181538/