sql 删除表中的重复记录

 更新时间:2017年01月06日 16:01:45   作者:鱼草野  
本文主要介绍了sql 删除表中的重复记录的方法,具有一定的参考价值,下面跟着小编一起来看下吧

遇见了表中存在重复的记录的问题,直接写sql删除时最快的,才不要慢慢的复制到excel表中慢慢的人工找呢

如下sql,找出重复的记录,和重复记录中ID值最小的记录(表中ID为自增长)

select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c
from T_Dor_StructStar 
where Date >= '20160919'
group by StructSN ,Date,UserID,StarCount
having COUNT(StructSN) > 1

然后就可以直接删除,基本原理就是,找到重复记录的每一条记录,排除掉重复id最小的记录,删除剩余的重复记录。

delete from T_Dor_StructStar
where ID in (
select s.ID from T_Dor_StructStar s,
(
select MIN(ID) as id, StructSN ,Date,UserID,StarCount,COUNT(StructSN) as c
from T_Dor_StructStar 
where Date >= '20160919'
group by StructSN ,Date,UserID,StarCount
having COUNT(StructSN) > 1
)a
where
a.Date = s.Date
and a.StructSN = s.StructSN
and a.UserID = s.UserID
and a.StarCount = s.StarCount
and a.id != s.ID
)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

相关文章

  • SQL Server:触发器实例详解

    SQL Server:触发器实例详解

    触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。本篇文章讲诉了SQL Server:触发器实例,有兴趣的可以了解一下。
    2016-12-12
  • SQL窗口函数之排名窗口函数的使用

    SQL窗口函数之排名窗口函数的使用

    取值窗口函数可以用于返回窗口内指定位置的数据行。本文主要介绍了SQL窗口函数之排名窗口函数的使用,具有一定的参考价值,感兴趣的可以了解一下
    2022-04-04
  • 通过cmd查看SqlServer版本的代码示例

    通过cmd查看SqlServer版本的代码示例

    这篇文章给大家介绍了如何通过cmd查看SqlServer版本,如果有同学不会查看的SqlServer版本号,可以参考阅读一下本文,对大家的学习或工作有一定的帮助
    2023-10-10
  • SQLSERVER调用C#的代码实现

    SQLSERVER调用C#的代码实现

    本文主要介绍了SQLSERVER调用C#的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 把数据批量插入具有Identity列的表的方法

    把数据批量插入具有Identity列的表的方法

    把数据批量插入具有Identity列的表的方法。
    2009-08-08
  • SQL Server SA权限总结经典技术

    SQL Server SA权限总结经典技术

    SQL Server SA权限总结经典技术...
    2006-09-09
  • SQLServer触发器创建、删除、修改、查看示例代码

    SQLServer触发器创建、删除、修改、查看示例代码

    触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。
    2010-06-06
  • 在 SQL 语句中处理 NULL 值的方法

    在 SQL 语句中处理 NULL 值的方法

    在日常开发过程中你深入了解过sql数据库中的null值问题吗?今天小编抽空给大家分享在 SQL 语句中处理 NULL 值的方法,感兴趣的朋友跟随小编一起看看吧
    2021-06-06
  • 解读SQL一些语句执行后出现异常不会回滚的问题

    解读SQL一些语句执行后出现异常不会回滚的问题

    这篇文章主要介绍了解读SQL一些语句执行后出现异常不会回滚的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • SqlServer中根据某几列获取重复的数据将其删除并保留最新一条

    SqlServer中根据某几列获取重复的数据将其删除并保留最新一条

    有时候,我们某个数据表中,可能有几列的数据都是一样的,此时我们可能想查询出这几列数据相同的所有数据行,并保留最新一条,将其他重复的数据删除,这篇文章主要介绍了SqlServer中根据某几列获取重复的数据将其删除并保留最新一条,感兴趣的朋友一起看看吧
    2024-04-04

最新评论