mysql删除字段重复的数据sql语句

在mysql中删除重复记录我们有多种方法,下面我介绍利用临时表与ALTER IGNORE TABLE命令来实现,希望些方法对各位会有所帮助.

mysql删除字段重复的数据,经过搜索刚开始是这样做的:

  1. deletefromv_togo
  2. wheretelin(selecttelfromv_togogroupbytelhavingcount(tel)>1)
  3. andtogoidnotin(selectmin(togoid)fromv_togogroupbytelhavingcount(tel)>1)

结果mysql报错:you can't specify target table 'v_togo' for update in from clause

然后我是这样解决的,分三个步骤:

1、create table tmp as select max(togoid) as toid from v_togo group by tel;先把要处理的字段存储到临时表

2、delete from v_togo where togoid not in (select toid from tmp);根据临时表进行筛选

3、drop table tmp;删除临时表

例,我是想做一个去重复操作,比如,如下表:

  1. idtitle
  2. 1张三
  3. 2李四
  4. 3张三
  5. 4王五
  6. 5李四

最终结果是:

  1. idtitle
  2. 1张三
  3. 2李四
  4. 4王五

替换方案,代码如下:

  1. createtabletmpasselectmin(id)ascol1fromblur_articlegroupbytitle;deletefromblur_articlewhereidnotin(selectcol1fromtmp);droptabletmp;--phpfensi.com

已经测试,尽请使用这样就ok了,

或者这样操作,代码如下:

ALTER IGNORE TABLE `表名` ADD UNIQUE (`唯一索引字段名`);

删除重复的数据,只保留一条.

相关广告
  • mysql删除字段重复的数据sql语句 mysql删除字段重复的数据sql语句 mysql删除字段重复的数据sql语句
相关阅读

mysql删除字段重复的数据sql语句

2019/10/10 17:36:03 | 谷歌SEO算法 | 谷歌CEO