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

 更新时间:2009年04月15日 21:28:00   作者:  
所谓的重复记录就是某列数据有重复的,但是在实际的过程中,有可能您的需求是一列有重复,也可能两列有重复..根据实际情况,所得到的重复记录是有所不同的
我们可以通过下述方法删除重复记录:
例:表名: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使用nest typeorm实现索引的方式

    sql server使用nest typeorm实现索引的方式

    本文通过示例演示了如何使用TypeORM库在SQL Server中创建不同类型的索引,分为普通索引,唯一索引,复合索引和空间索引,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Sql Server查询卡顿的排查方法

    Sql Server查询卡顿的排查方法

    这篇文章主要介绍了Sql Server查询卡顿的排查方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-07-07
  • 清空所有表中的数据的存储过程

    清空所有表中的数据的存储过程

    清空所有表中的数据的sql语句,需要的朋友可以参考下,利用了存储过程。
    2010-06-06
  • SQL Server创建用户只能访问指定数据库和视图的操作步骤

    SQL Server创建用户只能访问指定数据库和视图的操作步骤

    本文介绍了如何在SQLServer中创建用户并限定其访问权限,包括创建用户、设置用户映射、设置只能访问指定的数据表或视图、给指定表或视图赋予具体权限和检查权限等步骤,这种设置可以防止用户访问到过多不必要的过程表和过程视图,提高数据安全性
    2024-10-10
  • SQL函数substr使用简介

    SQL函数substr使用简介

    文章是介绍了sql中的substr()字符串截取函数的用法,十分的简单实用,有需要的同学可以参考一下。
    2015-05-05
  • SQL Server时间戳功能与用法详解

    SQL Server时间戳功能与用法详解

    这篇文章主要介绍了SQL Server时间戳功能与用法,结合实例形式分析了时间戳的概念、SQL Server时间戳的使用方法与相关注意事项,需要的朋友可以参考下
    2016-06-06
  • sql server中的触发器用法实例详解

    sql server中的触发器用法实例详解

    这篇文章主要给大家介绍了关于sql server中触发器用法的相关资料,SQL Server触发器是一种特殊类型的存储过程,它们在数据库中的表上自动执行,需要的朋友可以参考下
    2024-03-03
  • sql中<![CDATA[]]>的具体使用详解

    sql中<![CDATA[]]>的具体使用详解

    使用动态SQL时,如果if、foreach、where等标签一但被 <![CDATA[ ]]>标签包裹,本文主要介绍了sql中<![CDATA[]]>的具体使用详解,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 在sqlserver数据库中导入Excel数据的全过程

    在sqlserver数据库中导入Excel数据的全过程

    在SQL Server中导入Excel数据可以通过使用导入/导出向导来完成,下面这篇文章主要给大家介绍了关于在sqlserver数据库中导入Excel数据的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • SQL Server 高性能写入的一些经验总结

    SQL Server 高性能写入的一些经验总结

    本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍
    2012-08-08

最新评论