设为首页 加入收藏

TOP

如何查找和删除数据库中的重复数据?
2014-11-14 10:45:02 来源: 作者: 【 】 浏览:16
Tags:如何 查找 删除 数据库 重复 数据

法一: 用Group by语句 此查找很快的


select count(num), max(name) from student –查找表中num列重复的,列出重复的记录数,并列出他的name属性


group by num


having count(num) >;1 –按num分组后找出表中num列重复,即出现次数大于一次


delete from student(上面Select的)


这样的话就把所有重复的都删除了。—–慎重


法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法:


—- 执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录


SELECT * FROM EM5_PIPE_PREFAB


WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D –D相当于First,Second


WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND


EM5_PIPE_PREFAB.DSNO=D.DSNO);


—- 执行下面SQL语句后就可以刪除所有DRAWING和DSNO相同且重复的记录


DELETE FROM EM5_PIPE_PREFAB


WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D


WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND


EM5_PIPE_PREFAB.DSNO=D.DSNO);


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇知道asp.net MVC 模式吗?请讲下? 下一篇jdbc、hibernate、ibatis的区别?

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: