www.7671.net > 数据库删除重复的数据

数据库删除重复的数据

可以给你个想法,把不重复的多出来放到一个临时表中,删除原表,再将临时表的数据插入原表

查询的时候,添加distinct就能过滤重复数据,只显示一条记录

删除重复的数据delete from tb where id not in ( select id from (select fileSize,fileName ,max(id) id from tb group by filesize,filename ) a)现在完成了重复数据的删除,主要是利用了找出某个分组中最大的那个id,其中包括了所有不重复的id,然后使用not in将需要保留的排除.

delete from table a where ( selete count(*) from table b where a.编号 = b.编号) > 1 and (名称是英文)

方法一 declare @max integer,@id integer declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1 open cur_rows fetch cur_rows into @id,@max while @@fetch_status=0 begin select @max = @max

重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样.Oracle数据库重复数据删除技术有如下优势:更大的备份容量、数据能得到持续验证、有更高的数据恢复服务水平、方便实现备份数据的容灾.

1.把重复记录放到临时表:select A,B,C,D into temp1 from [表名] group by A,B,C,D having count(*)>12.将不重复的记录记入temp1表:insert temp1 select A,B,C,D from [表名] group by A,B,C,D having count(*)=13.如果确定临时表里的记录没错,删了原始表,将 临时表里的数据insert到原始表 insert [表名] select * from temp1 补充一下,第二步做完,你的数据库里有一个temp1表,这个表其实就是你想要的表,你可以把原始表彻底删了,把这个表名字改下也行

有两个意义上的重复记录①完全重复的记录,也即所有字段均重复的记录.②部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略.1、对于第一种重复,比较容易解决,使用select distinct * from tableName

有2个办法1.找出一份不重复的表,导入到临时表,把原先的表数据删除,在把临时表的数据导回去,这个适合没有ID字段的表,语句:找出唯一数据,把重复去掉并存入中转表:select distinct * into table(中转表名称) from tb(原表) 删除原

友情链接:rxcr.net | fpbl.net | jingxinwu.net | mcrm.net | hyqd.net | 网站地图

All rights reserved Powered by www.7671.net

copyright ©right 2010-2021。
www.7671.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com