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
)
本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 sql 删除表中的重复记录
相关文章
- SQL语句面试题目_sql基础知识面试题
- sql怎么调用存储过程_oracle sql分页查询
- Oracle中使用SQL删除字段(oracle删除字段sql)
- MySQL服务器的SQL模式(sql_mode变量)
- Oracle删除表: 使用SQL语句(oracle删除表sql)
- SQL Server中删除字段的方法(sqlserver删除字段)
- Oracle数据库删除数据的常用SQL语句(oracle删除sql)
- 「MySQL 教程」学习如何拼接 SQL 语句,让你的操作更灵活高效(mysql拼接sql语句)
- MySQL的删除语句SQL教程(mysql删除语句sql)
- 深入理解SQL在Redis上的应用(sqlonredis)
- :MySQL移除重复记录的SQL语句方法(mysql删除重复sql)
- SQL Server如何删除表 简单实用的教程(sqlserver删表)
- “让SQL Server加入虚拟化的行列”(vm sqlserver)
- SQL服务开启:突破MS SQL的瓶颈(sql服务开启mssql)
- SQL Server 动态授予权限的实现(sqlserver赋权限)
- Oracle SQL跟踪利器:掌握Oracle跟踪SQL工具!(oracle跟踪sql工具)
- SQL表格与Redis的互通之旅(sql表格 redis)
- Oracle数据库深入学习SQL标签的用法(oracle中sql标签)
- Oracle SQL配置完美方案让你随心所欲(oracle sql配置)
- Sql学习第一天——SQL练习题(建表/sql语句)