删除表记录中重复的字段

 

在操作使用中发现某表没有设置“主键”,可能是当时设计数据库时没有规范。而且里面出现的重复记录。

那么首先找出重复记录(先在这个表增加一个新的递增列id):

select min(id) as id from T_Table
group by usercode,reportname
having count(*) > 1

 

然后就可以删除它了

delete T_Table where id in
(select min(id) as id from T_Table
group by usercode,reportname
having count(*) > 1
)

 

最后可以删除这个递增列,设置实际需要的列为主键。

 

你可能感兴趣的:(删除)