Heim >Backend-Entwicklung >PHP-Tutorial >mysql怎么删除重复记录

mysql怎么删除重复记录

WBOY
WBOYOriginal
2016-06-23 14:21:23905Durchsuche

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

学习了


放飞心情 技术人生

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn