==============================

©Copyright 蕃薯耀 2023-01-31

蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主

一、Mysql 删除重复数据,保留一条有效数据

DELETE FROM SZ_Building WHERE id NOT IN (SELECT t.min_id FROM (SELECT MIN(id) AS min_id FROM SZ_Building GROUP BY BLDG_NO) t
)
;

原理:

  1. 根据字段对数据进行分组,查询出所有分组的最小ID(即要保留的不重复数据)
  2. 将查询出来的数据(所有不重复的数据)存放到临时表中
  3. 从原来的表中删除ID不在临时表中的重复数据

当表的数据量达到百万级以上时,删除数据很慢,建议这样处理:

  • 先把min(id)存到临时表(SZ_Building_id):
create table SZ_Building_id
SELECT MIN(id) AS id FROM SZ_Building GROUP BY BLDG_NO
;
  • 给临时表的id设置成主键或者创建索引(加快后面的查询速度)
alter table add index ind_xxName(字段名:如ID);
  • 删除id不在临时表的数据。
delete from ​SZ_Building where id not in(select id from SZ_Building_id
)
;

二、Mysql 删除重复数据(多个字段分组)

DELETE FROM SZ_Water_Level WHERE id NOT IN (SELECT t.min_id FROM (SELECT MIN(id) AS min_id FROM SZ_Water_Level GROUP BY CZBM,SJ,SW) t
)
;

三、Mysql 查询出可以删除的重复数据

SELECT * FROM SZ_Building WHERE id NOT IN (SELECT t.min_id FROM (SELECT MIN(id) AS min_id FROM SZ_Building GROUP BY BLDG_NO) t
)
;

SELECT * FROM SZ_Building WHERE BLDG_NO IN (SELECT BLDG_NO FROM SZ_Building GROUP BY BLDG_NO HAVING COUNT(1)>1
)
AND id NOT IN (SELECT MIN(id) FROM SZ_Building GROUP BY BLDG_NO HAVING COUNT(1)>1
)
;

==============================

©Copyright 蕃薯耀 2023-01-31

蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主

Mysql 删除重复数据保留一条有效数据相关推荐

  1. php如何删除重复的记录,如何删除重复项保留一条数据

    方法:1.打开Excel文档,选中要进行编辑的数据:2.点击顶部导航栏的"数据"选项卡:3.在打开的数据功能区,点击"删除重复值"按钮:4.在弹出的" ...

  2. sql 删除重复记录保留一条_从零学会SQL·二——简单查询

    一.使用select查询语句完成以下练习 student表 查询姓名和性别 查询所有字段 给查询的字段名替换别名,姓名替换为s_name,性别替换为"人类性别" 查询姓名时删除重复 ...

  3. mysql删除重复的数据保留一条

    mysql删除重复的数据保留一条 -- 删除多余的重复记录,只保留最小id的记录,content 为内容重复字段 DELETE FROM zimis WHERE id IN (SELECT * FRO ...

  4. MySql删除重复数据(只保留一条)

    MySql删除重复数据 1. 问题引入 前一段遇到MySql数据重复的问题.由于重复向同一张表导入同一批数据,导致前台展示的数据重复,唯一方便快捷的方法莫过于利用delete操作删除重复数据(已经封板 ...

  5. MySQL删除重复数据只保留最新的一条

    MySQL删除重复数据并保留最新的一条,网上有些博客写的有问题,因为他们只考虑到或者说他们的重复数据最多只有两条,当重复数据大于2时,就会出现问题. 案例描述: 按天删除表中重复数据只保留最新的一条( ...

  6. mysql数据库删除重复的数据保留一条

    1.问题引入 假设一个场景,一张用户表,包含3个字段.id,identity_id,name.现在身份证号identity_id和姓名name有很多重复的数据,需要删除只保留一条有效数据. 2.模拟环 ...

  7. php mysql 删除重复数据_mysql删除重复数据保留一条

    1.查找重复数据:SELECT * FROM `table_a` as a WHERE NOT EXISTS (SELECT * FROM table_b as b WHERE b.a_id=a.id ...

  8. MySQL删除重复数据保留1条

    测试表cctest表结构为 CREATE TABLE `cctest` (`id` int(11) NOT NULL,`name` varchar(20) DEFAULT NULL,`date` ye ...

  9. oracle去重保留一条_mysql、oracle 去重(数据库删除重复数据保留一条)

    现在在数据库中有2对重复数据,2条正常数据,我想要把重复数据都删掉 讲一下思路 根据重复字段分组,并增加约束条件,查询出所有的,重复数据的最小id,和重复的属性 SELECT uname,MIN(ui ...

最新文章

  1. HTML子选择器怎么加图,CSS伪类选择器:before、:after使用:插入字符、插入图片、插入项目编号...
  2. oracle 返回表的函数,oracle 返回表函数
  3. ASP.NET MVC 3发布报错(ASP.NET MVC 3在没有安装环境的服务器上运行)的解决方案
  4. unity描边发光shader_unity shader实例#1 轮廓渲染-描边
  5. RDBMS即关系数据库管理系统(Relational Database Management System)
  6. jquery实现图片放大效果
  7. Java技术面试汇总
  8. 用 js 写的 WebSocketHeartBeat,心跳检测
  9. atitit.导出excel的设计----查询结果 导出为excel的实现java .net php 总结
  10. 调试经验——Excel函数矩阵相乘函数(MMULT)的应用 (Use of MMULT function in Excel)
  11. SHFileOperation DeleteFolder
  12. 2000级2班同学聚会邀请函
  13. Android 读取assets文件中的文件
  14. python 转盘 圆形,用python实现一个转盘
  15. JQuery中$(document)是什么意思?
  16. Github 上 lux 下载神器的安装及使用教程
  17. 什么是signal(SIGCHLD, SIG_IGN)函数
  18. 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306
  19. libxml2 使用教程
  20. 抖音、快手、脸书陷舆论漩涡,CEO纷纷致歉,AI算法不灵了?

热门文章

  1. 【电商必备】增长销售和客户在线支持的网站即时聊天(一)
  2. 华安泰VIKOR“跨越者”解码服务器:深入系统全面应用
  3. Unity动态骨骼插件 飘带动画基于bone的实时运算
  4. Qt实现tcp发送和接收文件
  5. 扫描图片怎么转换成文字
  6. scala的MAIN方法
  7. 电脑玩手游绝地求生:全军出击手游PC电脑版使用教程
  8. OCR应用案例--商场室内导航
  9. Unity Camera摄像机组件
  10. 30年,Python正在吞食世界