mySql数据重复数据去重
2024-08-31 15:38:48
1、问题来源:数据中由于并发问题,数据存在多次调用接口,插入了重复数据,需要根据多条件删除重复数据;
2、参考博客文章地址:https://www.cnblogs.com/jiangxiaobo/p/6589541.html
二、
1、删除数据之前,先要查找到重复的数据,有一张单位表,单位名称可以重复,但是在不同组织id下不能重复(多条件计数重复数据),统计一下重复的数据
根据条件进行数据统计,然后选出记录数大于1的记录,看一下哪些数据是重复的数据:
SELECT
count( company_name ) countNum,
company_name,
org_id
FROM
company
GROUP BY
company_name,
org_id
HAVING
countNum > 1
ORDER BY
countNum DESC
查询结果
2、删除重复数据:根据数据查询出的条件筛选出重复数据的id,然后将id最小的排除掉,然后删除这些重复数据,中间由于数据库版本的问题,不能直接在查询表的数据删除数据
所以需要将查询的重复的记录作为一个子查询,起一个别名,然后再进行删除
delete from company WHERE id in (
SELECT t.id FROM (
select id
FROM
company a
WHERE
(a.company_name, a.org_id) IN (
SELECT
company_name,
org_id
FROM
company
GROUP BY
company_name,
org_id
HAVING
count(*) > 1
)
AND id NOT IN (
SELECT
min(id)
FROM
company
GROUP BY
company_name,
org_id
HAVING
count(*) > 1
)) t)
最新文章
- TraceView进行性能分析
- oracle 中的cascade
- 微信支付开发(7) 收货地址共享接口V2
- python基础知识理解
- AngularJs $q 承诺与延迟
- 从Lumia退役看为什么WP走向没落
- 【OpenStack】OpenStack系列15之OpenStack高可用详解
- PHP 解决时差8小时的问题
- caption标签,为表格添加标题和摘要
- centos下etcd集群安装
- python基础(八)
- static类型的变量
- 同一局域网运行两套LVS
- Lua语言特色
- GoldenGate 12.3 MA架构介绍系列(4)–Restful API介绍
- 【BZOJ】1085: [SCOI2005]骑士精神
- 数据库还原错误:指定的转换无效。(SqlManagerUI)
- jQuery 发送验证码倒计时按钮
- linux shell 模拟post请求
- 【转载】MSDN-MDX#001 - 多维表达式 (MDX) 参考
热门文章
- TensorFlow 官方文档 Programmer's Guide 中文翻译 —— 引言
- Codeforces contest 1277 E. Beautiful Rectangle
- 【AtCoder】AGC001
- SSM+pagehelper分页
- HDU 3642 求体积交集
- Thinking In Java 4th Chap4 控制执行流程
- 连续取数字DP使值最大HDU2697
- 20190728-Python爬取视频&;切割视频&;视频加水印
- EFcore的 基础理解<;二>; shadow 特性
- BMP RGB888转RGB565 +上下翻转+缩放