MySQL查找数据中相同的数据,并进行删除

 

查找表中多余的重复记录,重复记录是根据某个字段来判断

select * from 表名  where 字段 in (select   字段 from  表名 group by  字段 having count(字段) > 1)

 

 

删除表中多余的重复记录,重复记录是根据某字段来判断,根据ID保留最小的记录 (这个要用postgresq数据库才能用l)

delete from 表名  where 字段 in (select 字段 from 表名 group by 字段   having count(字段) > 1) and ID not in (select min(ID) from   表名 group by 字段 having count(字段)>1)

 

 

mysql用这个

delete from 表名 where   字段 in (select 字段 from ( select 字段 from 表名 group by 字段 having count(字段)>1) a)  and id not in (select ID from (select min(id)as ID from 表名 group by 字段 having count(字段)>1 ) b)

 

posted @ 2020-08-23 15:12  yvioo  阅读(576)  评论(0编辑  收藏  举报