ZBLOG

mysql 分组查询做数据查重,删除重复数据只保留一条

可以使用以下语句进行分组查询并删除重复数据:

DELETE FROM table_name
WHERE id NOT IN (
    SELECT min_id FROM (
        SELECT MIN(id) AS min_id
        FROM table_name
        GROUP BY column_name
    ) AS t
)

其中,table_name 替换为需要操作的表名,column_name 替换为用于判断重复的列名。

这条语句会先通过 GROUP BY column_name 对数据进行分组,然后在每个分组中选择 id 最小的一条记录保留(即 SELECT MIN(id) AS min_id),最后通过子查询将保留的记录的 id 值提取出来,将其余记录删除。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=468

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?