mysql 删除重复数据_GROUP BY后如何删除重复数据,最终只留一行!

  • Post author:
  • Post category:mysql


本文以mysql为例

相信所有的程序猿都有类似的经历:再检查某个bug后发现某张表数据有重复项,举例如distinct A、B、C三个维度的数据。

那么怎么简单又快速的去掉重复项只留下一行有效数据呢?

表全部删除重新制作数据不妨为一种,只不过比较耗时间而已,相信你撸王者的时间应该可以解决掉。

下面介绍一下作者第一次解决此类问题的办法(有更好的办法欢迎交流)。

首先GROUP BY 的作用:按维度分组后查询出一行数据。

比如上面提到的按A、B、C三个维度分组重复数据有10行,想去掉的数据有9行,在第一次group by having count(1)>9会出现1/10中的一行数据(按该表其他字段,如id删掉此行数据),第二次group by havingcount(1)>8页会出现1/9中的一行数据(按该表其他字段,如id删掉此行数据),以此类推直到删除剩下最后一行。。。。。。。。。。。

c2de0a631af36aa1dad9dc9f9fc7cd8a.png

也可以单独写一个循环函数,执行循环变量从9到1。



版权声明:本文为weixin_39579548原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。