MYSql 去除重复数据

一.删除mysql中重复的数据的sql

      1.数据演示:

      

   2.要求:

    去掉名字重复的数据,并且保留id最小的(这里需要注意的是如果数据没有主键,需要添加主键,用于去重,去重成功之后,可以再次删掉主键)

3.原sql语句:

delete from tableName where id in (select id from tableName group by name)

4.报错:

   mysql不能对同一张表同时做查询和修改操作,

5.原因:

mysql不能对同一张表同时做查询和修改操作,所以需要对查询出来的临时表取个别名,

6.改进的sql语句:

扫描二维码关注公众号,回复: 2233250 查看本文章

 delete from tableName where id not in(select * from (select min(id) from tableName group by name ) as tableNamenew)

7.解释:

   按名称分组查询出来的最小值,如果是重复的那么挑选出来了一条最小的数据,如果不是重复的数据,则其本身就是最小的数据,而id不在最小的数据里面的数据,肯定是重复数据,删掉即可。


版权声明:本文为博主原创文章,未经博主允许不得转载

      

猜你喜欢

转载自blog.csdn.net/qq_24607837/article/details/79640452