Mysql删除数据库中重复的数据(多字段判断重复)
来源:互联网 发布:lurker软件多少钱一个 编辑:程序博客网 时间:2024/05/08 16:11
由于网络阻塞,高并发造成生产环境下数据库中的数据重复!!!
#所有的去重是将表中多于的记录去重 只有一条的保留 多条重复记录的话只保留ID最小的一个
#userrecoder表的SQL去重userrecoder学生使用记录表,多个字段,记录的重复是根据学生的id studentId,模块 module,开始时间 beginTime,分数 score这四个字段,完全相同才能判断是同一个字段的!
可以根据自己的实际情况套用这个SQL,根据自己的业务去判断重复
DELETE
FROM
userrecoder
WHERE
beginTime >= '2017-11-03 15:00:00'
AND id NOT IN (
SELECT
id
FROM
(
SELECT
MIN(id) AS id,
count(studentId) AS count
FROM
userrecoder
WHERE
beginTime >= '2017-11-03 15:00:00'
GROUP BY
studentId,module,beginTime,score
HAVING
count(studentId) >= 1
) m
);
其中 not in 里面的数据是要保留的数据!
网上有的sql的HAVING后面跟的count>1(此处是大坑),注意这样是不对的,如果是count>1这样的话会将原本只有一条的记录删除!!!
还有要注意如果表中的数据有时间限制,要删除某一时间段内的重复数据,一定要在每个范围内加上时间的区间!!!
一般删除操作还是相对危险的,一不小心就会跑路,一定要记得备份!!!
写好的SQL最好在本地模拟数据去删除的试一试!!!
阅读全文
0 0
- Mysql删除数据库中重复的数据(多字段判断重复)
- 查询多字段重复数据,删除多字段重复数据
- 【数据库】MySQL删除表中重复数据
- mysql删除数据库的重复数据
- mysql查询字段数据不重复distinct及distinct的多字段操作
- 删除数据库中重复数据的技巧
- 删除数据库中重复数据的技巧
- 删除数据库中重复数据的方法
- 如何删除数据库中重复的数据
- 删除数据库中重复数据的方法。
- mysql中删除重复的数据
- mysql防止多字段重复插入
- 在mysql中关于通过多字段去除重复记录的方法
- 删除数据库中重复数据
- 删除数据库中重复数据
- 数据库中删除重复数据
- 数据库中删除重复数据
- 数据库中删除重复数据
- VS2017添加CyAPI.lib报错:error LNK2019
- Spring Framework下载
- Arduino学习笔记—Arduino编程基础
- linux简单命令
- python接收输入参数和列表pop()方法的使用
- Mysql删除数据库中重复的数据(多字段判断重复)
- 判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 = AABCD和s2 = BCDAA,返回1,给定s1 = abcd和s2 = ACBD,返回0. AABCD左旋一个字
- P2P线上运营如何实现,思维导图告诉你
- 作业
- Linux C/C++ Openssl RSA Encrypt/Decrypt(加密/解密) 简单示例教程
- 笨方法学python练习2-#的作用
- 记录 廖雪峰老师 实战 学习到 Day10的bug 以及解决方案
- 位图与矢量图
- 关于srand((unsigned)time(NULL))