mysql 如何去重

数据表:

mysql 如何去重

 

sql代码:


delete  FROM  test where id NOT in(  select id FROM tmp  )


create table tmp (select id FROM test GROUP BY `name` )

tmp是创建的临时表,不需要提前创建,直接写接好,

为什么要创建临时表,看下面:

mysql 如何去重

直接写会报错 :  

delete  FROM  test where id NOT in(  select id FROM test GROUP BY `name`  )

 

[SQL]


delete  FROM  test where id NOT in(  select id FROM test GROUP BY `name`  )

 


[Err] 1093 - You can't specify target table 'test' for update in FROM clause

 

 

要先运行create table tmp (select id FROM test GROUP BY `name` ) 

先创建临时表,才能查询