一题多解教你语句删除重复记录的
2021-10-29 04:19:27
此文章用了四种方法教你如何用SQL语句删除重复记录。
问题:怎样把具有相同字段的纪录删除,只留下一条。
例如:表test里有id,name字段,如果有name相同的记录只留下一条,其余的删除。name的内容不定,相同的记录数不定。
方案1:
1、将重复的记录记入temp1表:
select [标志字段id],count(*) into temp1 from [表名]group by [标志字段id]having count(*)1
几无破绽。也有些许友批评p图者意图险恶。 2、将不重复的记录记入temp1表:
insert temp1select [标志字段id],count(*) from [表名]group by [标志字段id]having count(*)=1
3、作一个包含所有不重复记录的表:
select * into temp2 from [表名]where 标志字段id in(select 标志字段id from temp1)
4、删除重复表:delete [表名]
5、恢复表:
insert [表名]select * from temp2
6、删除临时表:
drop table temp1drop table temp2
方案2:
declare @max integer,@id integerdeclare cur_rows cursor local for select id,count(*) from 表名 group by id having count(*) 1open cur_rowsfetch cur_rows into @id,@maxwhile @@fetch_status=0beginselect @max = @max -1set rowcount @maxdelete from 表名 where id = @idfetch cur_rows into @id,@maxendclose cur_rowsset rowcount 0
注:set rowcount @max - 1 表示当前缓冲区只容纳@max-1条记录﹐如果有十条重复的﹐就刪除
10条,一定会留一条的。也可以写成delete from 表名。
银川治疗白癜风阳泉白癜风哪里治疗好
孝感哪家白癜风医院好
- 上一篇:一闪一闪中国心红心中国网民理性呢
- 下一篇:丁俊晖高分难挽颓势落后亨德利命悬一
-
职场情商课:掌控“现像效应”,发挥积极作用,遵从自己的内心
2024-12-09
本文看点:惯常effect是心理学之外的专业术语,又指乐队烟火effect,又叫“随大流”,是指当我们作为形态受到确实群体冲击时,会可疑且扭转自己的看法、说明和不当
-
万余平度考生今日开始中考
2024-09-26
2022年潍坊市的中学学业总体入学于6年末13日-19日举行,本次入学潍坊市共设胶州北大、试验中高中时代、胶州二中、胶州三中、胶州附属中学、职教中心、试验中的中
-
消息称华为将于 6 月初释出 Freebuds Pro 2 耳机等新品
2024-08-09
IT之家 5 月末 22 日最新消息,视像该网站 @东都数君 透露,三星将于 6 月末初发布新闻新款喇叭,结合其他人的爆料来看预估是新一代 Freebuds Pro 2 喇叭。 三星 FreeBuds P
-
看淡心境才都会秀丽
2024-07-25
有心事情我,真是不需太多,八分就够了。极少了,我不会难过,陈述我在你有总是的标量毕竟,你还毕竟有心事情我;而多了,也不会受伤及害到我,因为除了恋人,