zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

删除 一条 重复记录 并且 剩下
2023-06-13 09:14:09 时间
我们可以通过下述方法删除重复记录:
例:表名:dbo.品种描述$,字段包括:ID_PK,品种名称,性状标准编号,代码,首先创建一个和原表结构一样的表:
复制代码代码如下:

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

declare@VarietyNamenvarchar(255),
@StdCharCodenvarchar(255),
@iCountint
set@iCount=0;
declareinsert_distinct_cursorcursorfor
select品种名称,性状标准编号fromdbo.品种描述$groupby品种名称,性状标准编号
openinsert_distinct_cursor
FETCHNEXTFROMinsert_distinct_cursorINTO@VarietyName,@StdCharCode
WHILE(@@fetch_status<>-1)
BEGIN
IF(@@fetch_status<>-2)
BEGIN
insertintodbo.tmpA(品种名称,性状标准编号,代码)selecttop1品种名称,性状标准编号,代码fromdbo.品种描述$where品种名称=@VarietyNameand性状标准编号=@StdCharCode;
set@iCount=@iCount+1;
END
FETCHNEXTFROMinsert_distinct_cursorINTO@VarietyName,@StdCharCode
END

CLOSEinsert_distinct_cursor
DEALLOCATEinsert_distinct_cursor
print@iCount