sqlserver清除完全重复的数据只保留重复数据中的第一条,sqlserver第一条
--创建测试表 CREATE TABLE [dbo].[testtab]( [id] [nchar](10) NULL, [name] [nchar](10) NULL ) ; --向测试表插入测试数据 insert into testtab values('1','1'); insert into testtab values('1','1'); insert into testtab values('2','2'); insert into testtab values('2','2'); insert into testtab values('3','3'); insert into testtab values('3','3'); --创建临时表并向临时表中插入测试表testtab中数据以及添加自增id:autoID select identity(int,1,1) as autoID, * into #Tmp from testtab --根据autoID删除临时表#tmp中的重复数据,只保留每组重复数据中的第一条 delete #Tmp where autoID in(select max(autoID) from #Tmp group by id); --清除testtab表中的所有数据 delete testtab; --向testtab表中插入#Tmp表中被处理过的数据 insert into testtab select id,name from #Tmp; --删除临时表#Tmp drop table #Tmp;
SQL数据库删除重复行保留一条记录,怎写?哦
看你的表结构,我简单写一条你参考一下:
Delete From table
where Id not in (Select min(id),column1,column2 From table group by column1,column2)
sql数据库 有多条记录完全重复,怎删除重复记录,只保留一条,sql语句怎写
Delete from tablename where id not in (select max(id) from
tablename group by col1,col2,...)