MySQL 8 清理重复数据

在将公司的技术架构从SpringBoot2.x+Dubbo更新到SpringCloudAlibaba+Nacos+Fegin的过程中,进行了数据迁移。然而,测试部门反馈数据存在重复。为解决此问题,使用了一个SQL查询,基于tid,ptid,project_no字段进行分组,删除了分组内非最小id的记录,以消除重复。
摘要由CSDN通过智能技术生成

昨天晚上,公司项目进行版本升级从2.0 升级3.0 版本,技术架构也由SpringBoot2.x +Dubbo 升级为Spring Cloud Alibaba + Nacos + Fegin 模式。同时也意味着数据也要进行数转。

今天刚刚到公司,就收到测试部门的反馈,昨天迁移数转的项目数据存在重复的情况,需要我立即处理。

SQL整齐:

base_project 表:通过tid \ptid\project_no 三个字段可以确定唯一记录。

delete from base_project where id not in(
    select temp.minid from (
        select min(bp.id) as minid from base_project bp group by bp.tid, bp.ptid,bp.project_no having(count(1)) > 1
    )
)

功能描述:

  • 基于tid \ptid\project_no 字段进行分组,统计记录数大于1,满足条件的记录取id 最小值。

  • 使用临时表包裹刚刚查询的记录Id

  • base_project 删除ID不在临时表中的记录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值