广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-05-04 21:20:56 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    我们可以通过下述方法删除重复记录:
    例:表名: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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告