mysql查找数据库重复数据,保留其中一条

在日常工作中,我们经常会使用到数据库,而有的是时候随着数据库的不断增加,会产生很大的重复记录,这是就需要删除重复记录,保存唯一的一条数据

如下图一,数据库list表中,字段title有三条一样的,我要删除其中两条

程序员人生 www.wfuyu.com 提供php教程,php开源,web前端

 

mysql查找数据库重复数据,保留其中一条_第1张图片

此时,可以直接运行sql语句就可以了,语句如下

delete from list  where id in (select id from (select  max(id) as id,count(title) as count from list group by title having count >1 order by count desc) as tab )


到这里就结束了吧,错了,我骗了大家,执行上面代码确实课时删除,但是它只能删除一个重复的啊,要多次才行,楼猪也没找到好的方法,居然可以把不重复的查询出来后,然后倒入一个附表中,然后再倒回来,觉得太麻烦了。还不如执行执行是上面的SQL语句,当然我重复条数不多,可以这样操作,要是大数据就不能这样搞了

大家有什么好的办法来一起讨论啊

你可能感兴趣的:(数据库)