一次现场mysql重复记录数据的排查处理实战记录
作者:AntCredit 发布时间:2024-01-17 11:42:28
目录
前言
分析
数据总计
重复次数占比
where 和 having 的区别
总结
前言
我当时正好出差在客户现场部署调试软件,有一天客户突然找到我这里,说他们现场生产的数据出现了异常的情况,最直接的表现就是 同一个标签,出现在了多个物料上,需要我配合,看怎么排查问题
分析
客户当时直接一摞重复标签的盒子码在我面前,我慌得一匹,这怕不是捅娄子了
稍加思索,现在需要做的就是,在数据库中查询出重复的标签,即对一个标签进行统计,判断出计数> 1 的即可
emmm,语法错误,我记得还有个Having 来着,换上试试
好家伙,重复的标签有 1500 多条,再统计一下总共问题的记录数量,以及再分组看看标签重复次数的占比数据
对了,先把这些重复标签数据扔个客户去追溯产品(幸好 navicat 支持复制数据)
数据总计
以上一条查询记录的结果为临时表,在此基础上,用 sum() 求和
重复的记录有点多,这问题有一点点大了
重复次数占比
对之前的查询表换一个查询方式,即对 count 数据再次分组
从结果来看,绝大部分问题数据重复了2次
where 和 having 的区别
Where是一个 约束声明,在查询数据库的结果返回之前对数据库中的查询条件进行约束,即在结果返回之前起作用,且where后面 不能使用聚合函数
Having是一个 过滤声明,所谓过滤是 在查询数据库的结果返回之后进行过滤,即在结果返回之后起作用,并且having后面可以使用聚合函数。
所谓 聚合函数,是对一组值进行计算并且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。
总结
在 mysql 的查询操作中,我们日常用到的,一般都是多表联查,将查询的结果当成中间表进行多次查询,对查询的结果做分组,做统计汇总等操作
如果查询操作中使用了函数计算或者是分组,典型的特征就是将原始表的多条记录合并成一条,就需要 having 对这些操作的结果进行过滤,除此之外,使用 where 对表记录进行条件过滤即可
来源:https://juejin.cn/post/7011374414394556452
猜你喜欢
- 本文实例讲述了python中enumerate函数遍历元素用法。分享给大家供大家参考,具体如下:enumerate函数用于遍历序列中的元素以
- 用asp程序进行网页设计,大多因为需要访问数据库,然后再将数据显示到页面,如果数据很多的话,页面的访问速度也就变慢了,为了解决这个问题,可以
- dictionary对象和数组有点相似,但无需用redim来改变dictionary的大小,dictionary也没有多维,dictiona
- 废话不多说,上代码看吧!'''为了避免截断中文字符 文件要求是 unicode 编码 txt文件另存为对话框下面有下
- 众所周知,FileSystemObject(fso)组件的强大功能及破坏性是它屡屡被免费主页提供商(那些支持ASP)的禁用的原因,我整理了一
- pandas读取一组数据,可能存在重复索引,虽然可以利用drop_duplicate直接删除,但是会删除重要信息。比如同一ID用户,多次登录
- 本地路径的创建在做下载操作时,我们一般先把文件下载到本地指定的路径下,然后再做其他使用。为了防止程序出现异常,我们通常需要先判断本地是否存在
- 一、背景 PyCharm执行Python时,找不到自己安装的package,例如pandas、numpy、scipy、scikit等,在执行
- 谷歌驱动下载地址:http://chromedriver.storage.googleapis.com/index.html一、seleni
- 本文实例讲述了python简单读取大文件的方法。分享给大家供大家参考,具体如下:Python读取大文件(GB级别)采用的办法很简单:with
- #!/usr/bin/python import sys def left_child(node): return node * 2 + 1
- uni-app简介uni-app是一个使用Vue.js开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小
- 目前网络上大部分博客的结论都是这样的:Python不允许程序员选择采用传值还是传 引用。Python参数传递采用的肯定是“传对象引用”的方式
- 目的:在百度贴吧输入关键字和要查找的起始结束页,获取帖子里面楼主所发的图片思路:获取分页里面的帖子链接列表获取帖子里面楼主所发的图片链接列表
- 1、引言小 * 丝:鱼哥,你说咱们发快递时填写的地址信息,到后台怎么能看清楚写的对不对呢?小鱼:这种事情还要问? 你没在电商行业混过??小 * 丝:
- scikit-learn是python的第三方机器学习库,里面集成了大量机器学习的常用方法。例如:贝叶斯,svm,knn等。scikit-l
- 1. 安装PyYAMLpip install PyYAML2. 加载yaml文件直接使用yaml.load()函数demo.yml :kin
- Python慢的重要原因:1、python是动态性语言不是静态性语言在python程序执行的时候,编译器不知道变量的类型。2、python是
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 5 - Event HandlingMooTool
- 本文实例为大家分享了python3实现飞机大战的具体代码,供大家参考,具体内容如下以下是亲测Python飞机大战全部代码,在保证有pygam