一次现场mysql重复记录数据的排查处理实战记录
IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《一次现场mysql重复记录数据的排查处理实战记录》,聊聊数据、mysql重复,我们一起来看看吧!
前言
我当时正好出差在客户现场部署调试软件,有一天客户突然找到我这里,说他们现场生产的数据出现了异常的情况,最直接的表现就是 同一个标签,出现在了多个物料上,需要我配合,看怎么排查问题
分析
客户当时直接一摞重复标签的盒子码在我面前,我慌得一匹,这怕不是捅娄子了
稍加思索,现在需要做的就是,在数据库中查询出重复的标签,即对一个标签进行统计,判断出计数> 1 的即可

emmm,语法错误,我记得还有个Having 来着,换上试试

好家伙,重复的标签有 1500 多条,再统计一下总共问题的记录数量,以及再分组看看标签重复次数的占比数据
对了,先把这些重复标签数据扔个客户去追溯产品(幸好 navicat 支持复制数据)
数据总计
以上一条查询记录的结果为临时表,在此基础上,用 sum() 求和

重复的记录有点多,这问题有一点点大了
重复次数占比
对之前的查询表换一个查询方式,即对 count 数据再次分组

从结果来看,绝大部分问题数据重复了2次
where 和 having 的区别
Where是一个 约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面 不能使用聚合函数
Having是一个 过滤声明,所谓过滤是 在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用聚合函数。
所谓 聚合函数,是对一组值进行计算并且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。
总结
在 mysql 的查询操作中,我们日常用到的,一般都是多表联查,将查询的结果当成中间表进行多次查询,对查询的结果做分组,做统计汇总等操作
如果查询操作中使用了函数计算或者是分组,典型的特征就是将原始表的多条记录合并成一条,就需要 having 对这些操作的结果进行过滤,除此之外,使用 where 对表记录进行条件过滤即可
以上就是《一次现场mysql重复记录数据的排查处理实战记录》的详细内容,更多关于mysql的资料请关注golang学习网公众号!
一条SQL语句在MySQL中是如何执行的
- 上一篇
- 一条SQL语句在MySQL中是如何执行的
- 下一篇
- mysql如何能有效防止删库跑路
-
- 害羞的夕阳
- 真优秀,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢博主分享博文!
- 2023-05-02 23:55:11
-
- 重要的蚂蚁
- 细节满满,已收藏,感谢老哥的这篇文章,我会继续支持!
- 2023-03-10 00:31:10
-
- 可靠的大地
- 这篇文章内容真是及时雨啊,楼主加油!
- 2023-03-08 18:02:27
-
- 虚拟的小兔子
- 太全面了,码住,感谢老哥的这篇技术文章,我会继续支持!
- 2023-02-17 03:03:28
-
- 虚心的小丸子
- 这篇技术贴出现的刚刚好,太细致了,受益颇多,已收藏,关注楼主了!希望楼主能多写数据库相关的文章。
- 2023-01-28 09:18:52
-
- 爱听歌的短靴
- 写的不错,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢师傅分享文章内容!
- 2023-01-07 04:21:15
-
- 英俊的高山
- 这篇技术贴真及时,太细致了,感谢大佬分享,码住,关注师傅了!希望师傅能多写数据库相关的文章。
- 2023-01-04 11:58:48
-
- 数据库 · MySQL | 11小时前 | MySQL · SQL · GROUP_CONCAT · mysql group_concat group_concat_max_len
- MySQL GROUP_CONCAT 结果被截断怎么处理
- 470浏览 收藏
-
- 数据库 · MySQL | 12小时前 | MySQL · 任务队列 · SKIP LOCKED · 并发消费 ·
- MySQL 多个消费者怎么用 SKIP LOCKED 领取任务
- 184浏览 收藏
-
- 数据库 · MySQL | 13小时前 | MySQL · 索引优化 · generated-column · mysql 索引 生成列 计算字段
- MySQL 怎么用生成列保存可索引的计算结果
- 297浏览 收藏
-
- 数据库 · MySQL | 18小时前 |
- MySQL LEFT JOIN 怎么统计数量并保留零记录
- 477浏览 收藏
-
- 数据库 · MySQL | 19小时前 | SQL查询 · 子查询 · MySQL教程 · NULL判断 · mysql NOT IN NOT EXISTS
- MySQL NOT IN 查不到数据是不是 NULL 导致的
- 413浏览 收藏
-
- 数据库 · MySQL | 21小时前 |
- MySQL 按天统计怎么补齐没有数据的日期
- 177浏览 收藏
-
- 数据库 · MySQL | 22小时前 | MySQL · JSON查询 · JSON_TABLE · mysql JSON数组 JSON_TABLE
- MySQL JSON 数组怎么展开成多行查询
- 490浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- SuperCLUE
- SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
- 165次使用
-
- C-Eval
- 深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
- 90次使用
-
- AI Prompt Library
- 探索AI Prompt Library免费资源库,涵盖营销、写作及多场景AI提示词。兼容ChatGPT、Claude等工具,一键复制优化输出,提升工作效率。
- 9次使用
-
- LangGPT
- LangGPT是一种受编程语言启发的结构化提示词设计工具,提供双层框架、模块化模板及变量功能,帮助用户高效编写高质量Prompt。该项目已在GitHub免费开源,适用于内容创作、编程辅助等多场景。
- 27次使用
-
- ClickPrompt
- ClickPrompt是一款专为AI提示词编写者设计的开源在线工具,支持Stable Diffusion绘图、ChatGPT对话及GitHub Copilot代码辅助。提供Prompt自动生成、一键运行、社区分享及可视化优化功能,帮助用户高效获取精准AI输出。
- 55次使用
-
- Golang中map数据类型的使用方法
- 2022-12-30 443浏览
-
- 一文详解Golang中的切片数据类型
- 2022-12-31 171浏览
-
- Go 编程复杂数据类型 Map
- 2023-01-01 306浏览
-
- Go语言中的数据格式(json、xml 、msgpack、protobuf)使用总结
- 2022-12-28 264浏览
-
- Go语言中的数据竞争模式详解
- 2023-01-01 456浏览

