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)

最新文章

  1. TraceView进行性能分析
  2. oracle 中的cascade
  3. 微信支付开发(7) 收货地址共享接口V2
  4. python基础知识理解
  5. AngularJs $q 承诺与延迟
  6. 从Lumia退役看为什么WP走向没落
  7. 【OpenStack】OpenStack系列15之OpenStack高可用详解
  8. PHP 解决时差8小时的问题
  9. caption标签,为表格添加标题和摘要
  10. centos下etcd集群安装
  11. python基础(八)
  12. static类型的变量
  13. 同一局域网运行两套LVS
  14. Lua语言特色
  15. GoldenGate 12.3 MA架构介绍系列(4)–Restful API介绍
  16. 【BZOJ】1085: [SCOI2005]骑士精神
  17. 数据库还原错误:指定的转换无效。(SqlManagerUI)
  18. jQuery 发送验证码倒计时按钮
  19. linux shell 模拟post请求
  20. 【转载】MSDN-MDX#001 - 多维表达式 (MDX) 参考

热门文章

  1. TensorFlow 官方文档 Programmer's Guide 中文翻译 —— 引言
  2. Codeforces contest 1277 E. Beautiful Rectangle
  3. 【AtCoder】AGC001
  4. SSM+pagehelper分页
  5. HDU 3642 求体积交集
  6. Thinking In Java 4th Chap4 控制执行流程
  7. 连续取数字DP使值最大HDU2697
  8. 20190728-Python爬取视频&切割视频&视频加水印
  9. EFcore的 基础理解<二> shadow 特性
  10. BMP RGB888转RGB565 +上下翻转+缩放