MySQL 8 清理重复数据

昨天晚上,公司项目进行版本升级从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不在临时表中的记录。

猜你喜欢

转载自blog.csdn.net/zhouzhiwengang/article/details/129423464