mysql如何去除两个字段数据相同的记录

mysql如何去除两个字段数据相同的记录,第1张

方法有很多,这里介绍两种

方法一、

如果要保留id的最小值,例如:

数据
执行sql:select count() as count ,name,id from ceshi group by name
<img

最后要删除的sql为:delete from ceshi where id not in (select count() as count ,name,id from ceshi group by name)

如果想保留id的最大值:
简单的办法是:delete from ceshi where id not in (select count() as count ,name,id from (select from ceshi order by id desc) group by name)

如果想要删除的是两个列里面对应相同的数据,也就是说表里面有两条记录的name都是admin,要是只想保留其中一条的话,order by 的时候增加一个值即可,例如:

delete from ceshi where id not in (select count() as count ,name,id from ceshi group by name,email)

方法二、

只需要把你这张表当成两张表来处理就行了。

DELETE p1 from TABLE p1, TABLE p2 WHERE p1name = p2name AND p1email = p2email AND p1id < p2id;

这里有个问题,保留最新的那一条(也就是ID最小的那个)

上面的的语句,p1id < p2id,所以获取到的是id最大的,因为p1id小于p2id就会被删除,只有最大的值不满足。如果要获取id最小的那个,只需要把'<'改成'>'即可。

当然是用group by,count可以更精准控制重复n次的情况。

以上就是关于mysql如何去除两个字段数据相同的记录全部的内容,包括:mysql如何去除两个字段数据相同的记录、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9731887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存