老生常谈删除SQL表中重复记录

老生常谈删除SQL表中重复记录,第1张

老生常谈删除SQL表中重复记录,第2张

有时会添加错误的数据,或者多添加几条数据。今天就来说说SQL数据库中删除重复记录的方法。
数据库结构的脚本:
如果存在(select * from dbo.sysobjects其中id = object _ id (n' [dbo])。[tempa]')和object property (id,N ' is usertable ')= 1)
drop table[dbo]。[TempA]
GO
创建表[dbo]。[TempA](
[id][int]IDENTITY(1,1) NOT NULL,
[position name][varchar](256)COLLATE Chinese _ PRC _ CI _ AS NULL,
[English position name][varchar](256)COLLATE Chinese _ PRC _ CI _ AS NULL
,ON[PRIMARY]
GO
ALTER TABLE[dbo]。[TempA]在[PRIMARY]
GO上添加
约束[PK_TempA]聚集的主键
(
[id]
)

TempA表有三个字段,id和主键,自动增长;职位名称,englishpositionname中有重复记录,例如:
ID职位名称英文职位名称
20其他
21质量工程师QC工程师
22其他
100质量工程师QC工程师
需要消除重复的“/br/]使用的SQL语句:
delete from tempa where ID not in(
select max(t1 . ID)from tempa t1 group by
t1 . position

注意:
(1)如果您需要删除那些用于判断重复的字段,请将它们放在group by语句之后。
(2)max(t1.id)也可以改为:min(t1.id)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 老生常谈删除SQL表中重复记录

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情