SQL Server 删除重复记录,并且剩下一条

2022-11-12 09:48:49
内容摘要
这篇文章主要为大家详细介绍了SQL Server 删除重复记录,并且剩下一条,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!我们可以通过下述方法
文章正文

这篇文章主要为大家详细介绍了SQL Server 删除重复记录,并且剩下一条,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

我们可以通过下述方法删除重复记录:例:表名:dbo.品种描述$,字段包括:ID_PK,品种名称,性状标准编号,代码,首先创建一个和原表结构一样的表:

代码如下:


select * into tmpA from dbo.品种描述$ where 1=2--创建完毕 
在数据表中,品种名称,性状标准编号这两个字段不能有重复值,执行下述脚本: 

declare @VarietyName nvarchar(255), 
@StdCharCode nvarchar(255), 
@iCount int 
set @iCount=0; 
declare insert_distinct_cursor cursor for 
select 品种名称,性状标准编号 from dbo.品种描述$ group by 品种名称,性状标准编号 
open insert_distinct_cursor 
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode 
WHILE (@@fetch_status <> -1) 
BEGIN 
IF (@@fetch_status <> -2) 
BEGIN 
insert into dbo.tmpA (品种名称,性状标准编号,代码) select top 1 品种名称,性状标准编号,代码 from dbo.品种描述$ where 品种名称=@VarietyName and 性状标准编号=@StdCharCode; 
set @iCount=@iCount+1; 
END 
FETCH NEXT FROM insert_distinct_cursor INTO @VarietyName,@StdCharCode 
END 

CLOSE insert_distinct_cursor 
DEALLOCATE insert_distinct_cursor 
print @iCount 

注:关于SQL Server 删除重复记录,并且剩下一条的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!