id number
1 20
2 20
3 30
4 18
大家好,我有一个名为numbers
的表,这个表包含数千行 - 上面的示例 - 该表有很多重复项。我想要一种方法来使用mysql查询简单地删除那些重复项。查询还应删除原始编号和副本本身。例如,应删除id
1
和2
值,因为它们是重复的。
谢谢你的帮助
答案 0 :(得分:2)
在MySQL中,您可以使用join
:
delete n
from numbers n join
(select number
from numbers
group by number
having count(*) > 1
) nn
on n.number = nn.number;
Here是SQL Fiddle的一个例子。
答案 1 :(得分:1)
我们可以通过group by和having
获得重复Delete a.* from TableA a
Where Number in (
Select number from (
select number from tableA
group by number
having count(*) > 1)
)