好的,我知道这可能听起来很糟糕,但是在周六的某个时候通过一个意想不到的滚球,我以前从未遇到过这个问题。
所以我们有一个名为employees的数据库表 在该表中,您有
之类的记录Russell
Smith
Sam
但突然间我
Russell
Russell
Smith
Smith
Smith
Sam
Sam
Sam
如果有人知道如何解决此问题,请下载完整的表并手动修复并重新上传,这将是很好的
答案 0 :(得分:1)
如果您的表格中有id
列,并且您只想保留id
最低的记录,则可以
delete from employees
where id not in
(
select * from
(
select min(id)
from employees
group by name
) x
)
答案 1 :(得分:0)
我的建议:
(1)创建一个新的临时表:
create temporary table xxx as
select distinct * from employees
(2)截断原始表
truncate table employees
(3)将记录重新插入
insert into employees
select * from xxx
通过截断表,您将保留几乎所有与之相关的信息 - 安全性,触发器,约束。一个问题可能是自动递增的主键。如果您有其中一个,这可能无效(但如果有主键,则无法复制记录)。