首页 > 代码库 > 如何删除数据库表的重复数据

如何删除数据库表的重复数据

首先:判断什么是重复数据。

 

如果是所有列的值都是相同的才是重复数据:

  使用distinc创建临时表然后将原表替换。

 

如果是有主键的:

  

delete * from tab where id not in(

  select id from (
 
    select max(id) id,name from tab group by name
  )
 )

这个例子是根据name作为重复的依据的。

 

如何删除数据库表的重复数据