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

我们可以通过下述方法删除重复记录:

例:表名: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

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐