mysql如何查找删除表中重复数据_mysql如何查找删除表中重复数据 mysql查找删除表中重复数据方法...

本篇文章小编给大家分享一下mysql查找删除表中重复数据方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

在数据库表里,我们有时候会保存了很多重复的数据,这些重复的数据浪费资源,我们要将其删除掉。

先看下我们的表数据,有一些数据是重复的。

23fcf63421d6ddd9f636da22ce02cf7b.png

要查找重复数据,我们可以使用mysql里的having语句,如图。

63358084d69fad1d4bd6c9681031f546.png

执行这个语句后,我们可以看到现在的结果里显示的就是表中重复数据的字段。

64883ded9258a8ad0474a597130f2d1d.png

要删除这些重复的数据,我们找出这些数据的ID,在select语句里,添加id字段,使用max函数,可以得到重复数据最后面的id。

f2e6c6269073849bcf733f527601c704.png

执行结果如图,得到重复数据的id为8和9。

43f8e90eedf32625de9cfc03804157f8.png

这样我们就可以使用delete语句来删除这二个id的数据了。

6970ec72e6ac7f8a45e9b9e20bdb001c.png

但如果有很多重复的数据,不想一个一个的写这些id怎么办?

添加一个子查询,只把id字段查询出来,如图。

3dc944ab00fdf3fc6d290e6e89ab3a70.png

然后在外边添加一个delete语句就行了,详细代码如图。

要注意的是,如果重复数据的行有三行或以上的,我们需要执行这个语句多次才行,因为执行一次只会删除每组重复数据中的一条。

e194196f5066d0d36b9c23d5cac0289e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值