如何删除表记录中重复的字段

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

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

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

 

然后就可以删除它了

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

 

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

posted @ 2010-03-11 09:07  Treenew Lyn  阅读(379)  评论(3编辑  收藏  举报