欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

mysql怎么删除重复记录

程序员文章站 2024-02-08 16:39:58
...
mysql 表名是tongxunlu 字段是id sXingMing sXingBie dtShengRi
因为重复插入了,几份数据,想删除重复的

回复讨论(解决方案)

举例说明,怎么判断重复的。

手动删除。。

可以直接判断sXingMing sXingBie dtShengRi这几个字段值是否相同,然后再根据需要进行删除

删除重复记录

delete from tongxunlu a where  rowid not in(select max(rowid) from tongxunlu where id=a.id and sXingMing=a.sXingMing and  sXingBie=a. sXingBie and dtShengRi=a.dtShengRi); 

delete from tongxunlu  where  id not in(select max(id) from tongxunlu group by id sXingMing sXingBie dtShengRi;


以什么为判断重复的条件,则以什么分组。

先说多少条数据。
数据不多的话,把数据表备份出来,原来的表清空,foreach扫一遍备份数据表,把不重复的的插入到原来的表中。
这样就解决问题了,没必要搞那么高深。

才几份数据,用第三方工具直接删了。

delete from tb1 where id in(select id,count(id) as tt from tb.where having tt>1)
执行肯定是要花费一定的时间的,关键看数据量多少

delete from tb1 where id in(select id,count(id) as tt from tb.where having tt>1 group by $fn )
掉了group by

学习了


放飞心情 技术人生