删除表记录中重复的字段(转)

 

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

那么首先找出重复记录(先在这个表增加一个新的递增列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
)

 

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

 

posted @ 2010-03-11 16:58  足够有晋  阅读(151)  评论(0编辑  收藏  举报