MySQL 中删除重复数据 SQL 写法
要在 MySQL 中删除重复的数据并只保留一条,可以使用下面的方法(要用的时候直接复制小改下条件和表名称即即可)
方法一:使用 left join + 子查询删除重复数据(推荐)
温馨提示:本人在 500w 数据下执行此 SQL 耗费 15s-30s 左右
使用 left join
(推荐方法删除重复数据,添加唯一组合索引,可以使用,数据量大的也可以)
// 先把历史数据删除,才能够添加唯一的组合索引
DELETE u1
FROM uf_cs_record_batch_detail u1
LEFT JOIN (SELECT MIN(id) AS min_idFROM uf_cs_record_batch_detailGROUP BY cs_contact_name, cs_safe_remark
) u2
ON u1.id = u2.min_id
WHERE u2.min_id IS NULL;
另外在附上添加唯一组合索引的 SQL 写法(很实用):
// 添加组合的唯一索引
ALTER TABLE uf_cs_record_batch_detail ADD UNIQUE KEY idx_uni_contact_safe_stat (cs_contact_name, cs_safe_remark);
方法二:创建临时表(需分多步执行,逻辑清晰,但会改变ID值)
这种方法假设你有一个表 your_table
,并且你要基于某些列来判断哪些数据是重复的。
例如,如果你想删除基于 column1
和 column2
的重复记录,只保留一条记录,你可以按照以下步骤操作:
- 使用
CREATE TABLE
语句创建一个临时表,用于存储唯一的记录。 - 使用
INSERT INTO ... SELECT
语句将唯一的记录插入到临时表中。 - 删除原始表中的所有记录。
- 使用
INSERT INTO ... SELECT
语句将临时表中的记录插入回原始表。 - 删除临时表。
以下是一个完整的 SQL 例子:
-- 创建临时表 SQL 参考
CREATETABLE temp_table AS
SELECT*FROM your_table-- 将不重复的数据临时存在这个 temp_table 临时表中
INSERTINTO temp_table
SELECT*FROM your_table t1
WHERE t1.id = (SELECTMIN(t2.id)FROM your_table t2WHERE t1.column1 = t2.column1AND t1.column2 = t2.column2
);-- 然后将源表中的数据删除
DELETEFROM your_table whereWHERE 字段1=值;-- 再将临时表中不重复数据重新写回到源表中
INSERTINTO your_table
SELECT*FROM temp_table;-- 最后删除临时表
DROPTABLE temp_table;
这样,你就成功地删除了原始表中的重复记录,只保留了一条唯一记录。
注意:但是这种方法会改变原来的数据 ID ,所以这种方法看场合使用
方法三:使用 JOIN 自连查询(需要注意性能问题)
为了避免改变原来的数据 ID,我们可以使用一个不同的方法,通过使用自连接来标记重复的数据并删除多余的记录。这种方法在保留原始 ID 的情况下删除重复记录。
假设你的表结构如下:
- 表名:
your_table
- 列名:
id
(主键),column1
,column2
, 以及其他列。
你可以使用以下 SQL 来删除重复记录,只保留一条(通常是保留 ID 最小的那一条):
-- Step 1: 标记要删除的重复记录
DELETE t1
FROM your_table t1
INNER JOIN your_table t2
WHERE t1.id > t2.idAND t1.column1 = t2.column1AND t1.column2 = t2.column2;-- Step 2: 确认删除成功,查看剩余数据
SELECT * FROM your_table;
解释:
-标记要删除的重复记录:我们使用自连接 INNER JOIN 来找到重复的记录,并且使用 WHERE t1.id > t2.id 来确保只删除 id 较大的记录,从而保 留 id 最小的记录。
- 确认删除成功:通过 SELECT 语句查看剩余的数据,确保删除操作正确。这个方法的优点是:不会改变原始数据的 ID。保留每组重复记录中 ID 最小的一条记录。操作简单且高效。
小总结
- 使用
left join
删除重复数据(推荐使用),适合大数据量,性能 OK - 创建临时表 适合需要重建数据表的场景,适合数据量中等的情况,不过比较繁琐
- 自连查询 能保留最小 ID,适合不想改变 ID 的情况下删除重复数据。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
MySQL 中删除重复数据 SQL 写法
要在 MySQL 中删除重复的数据并只保留一条,可以使用下面的方法(要用的时候直接复制小改下条件和表名称即即可) 方法一:使用 left join 子查询删除重复数据(推荐) 温馨提示:本人在 500w 数据下执行此 SQL 耗费 15s-30s…...
![](https://www.ngui.cc/images/no-images.jpg)
docker minio镜像arm64架构
minio版本为RELEASE.2021-09-03T03-56-13Z 原项目信创改造,服务器资源改为了arm64架构,统信uos docker镜像库内没有对应的minio镜像,当前镜像为拉取源码后,自编译打包镜像,亲测可用。 使用方式 将tar包导入到服务器…...
![](https://www.ngui.cc/images/no-images.jpg)
VUE3 监听器(watch)
在 Vue 3 中,监听器(watch)是用来观察响应式数据的变化,并在数据发生变化时执行相应操作的机制。watch 主要用于响应式数据变化时的副作用处理,比如异步操作、数据更新等。 1. 基础使用 在 Vue 3 中,watc…...
![](https://www.ngui.cc/images/no-images.jpg)
CAPL如何设置TCP/IP传输层动态端口范围
在TCP/IP协议中,应用程序通过传输层协议TCP/UDP传输数据,接收方传输层收到数据后,根据传输层端口号把接收的数据上交给正确的应用程序。我们可以简单地认为传输层端口号是应用程序的标识,这就是为什么我们说应用程序在使用TCP/IP协议通信时要打开传输层端口号或者绑定端口号…...
![](https://www.ngui.cc/images/no-images.jpg)
随记:有关Springboot项目中的时间格式实现的几种方式
1.注解 JsonFormat DateTimeFormat import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat;import java.time.LocalDateTime;public class Event {// 序列化和反序列化时生效JsonFormat(pattern "yyyy-MM…...
![](https://www.ngui.cc/images/no-images.jpg)
IntelliJ IDEA 优化设置
针对 Java 开发,IntelliJ IDEA 有许多优化设置,可以帮助提高代码编写、调试、构建和运行的效率。以下是一些针对 Java 开发的优化建议: 1. 增加 JVM 内存和性能优化 增加堆内存: 通过调整 idea.vmoptions 文件,增加 IntelliJ ID…...
![](https://i-blog.csdnimg.cn/direct/8335a8b4f812437bb92e819653b0e56a.png)
jsp企业财务管理系统设计与实现
企业财务管理系统 摘要 对于企业集来说,财务管理的地位很重要。随着计算机和网络在企业中的广泛应用,企业发展速度在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能保证在竞争中处于优势地位。对此企业必须实现财务管理…...
![](https://www.ngui.cc/images/no-images.jpg)
EscherNet运行笔记
文章标题:EscherNet: A Generative Model for Scalable View Synthesis 1. 环境配置 conda env create -f environment.yml -n eschernet conda activate eschernet 2. 数据下载 wget https://tri-ml-public.s3.amazonaws.com/datasets/views_release.tar.gz 3…...
![](https://www.ngui.cc/images/no-images.jpg)
Java中的反射机制及其应用场景
目录 什么是Java反射机制? 工作原理 主要应用场景 注意事项 总结 什么是Java反射机制? Java反射机制是一种强大的工具,它允许程序在运行时访问、检查和修改其本身的类和对象的信息。通过反射,开发者可以在不知道类的具体实现…...
![](https://i-blog.csdnimg.cn/direct/3d0da6f16bc14fcf8b6743818690d394.png)
信息科技伦理与道德3:智能决策
1 概述 1.1 发展历史 1950s-1980s:人工智能的诞生与早期发展热潮 1950年:图灵发表了一篇划时代的论文,并提出了著名的“图灵测试”;1956年:达特茅斯会议首次提出“人工智能”概念;1956年-20世纪70年代&a…...
![](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=assets%2Fcomponents.B1JZbf0_.png&pos_id=img-OD9aqqVT-1736380938373)
青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础
青少年编程与数学 02-006 前端开发框架VUE 16课题、组件基础 一、定义一个组件二、使用组件三、传递 props四、监听事件五、通过插槽来分配内容六、动态组件七、DOM 内模板解析注意事项1、大小写区分2、闭合标签3、元素位置限制 课题摘要:本文介绍了Vue.js中的组件基础…...
![](https://i-blog.csdnimg.cn/direct/b51a745fe8e248ccae1ae1909d4f2260.png)
25/1/11 算法笔记 Yolov8物体识别
这几天做了给Yolov8检测物体的小任务,今天来做下总结。 首先介绍下整个Yolov8检测的步骤吧,安装库那些就不讲了。 这是我的文件包的对象树。 有images包,里面装了训练和验证的图像。 labels包,装了标注好的labels的txt文件&…...
![](https://www.ngui.cc/images/no-images.jpg)
水水水水水水
为了拿推广卷,但不想把我原本完整的文章拆成零散的多篇,只能出此下策随便发一篇,认真写的都笔记专栏里 网络技术:数字时代的基础设施 在当今社会,网络技术无疑是推动现代生活和经济发展的核心动力之一。从简单的信息传…...
![](https://i-blog.csdnimg.cn/direct/d617d6f9daa44591bca3d501d1e2cb28.png)
XS5037C一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,内置高性能ISP处理器,支持3D降噪和数字宽动态
XS5037C是一款应用于专业安防摄像机的图像信号处理芯片,支持MIPI和 DVP 接口,最 大支持 5M sensor接入。内置高性能ISP处理器,支持3D降噪和数字宽动态。标清模拟输出支 持960H,高清模拟输出支持HDCCTV 720P/1080P/4M/5M。高度集成…...
![](https://www.ngui.cc/images/no-images.jpg)
机器学习无处不在,AI顺势而为,创新未来
机器学习无处不在: 1、推荐广告和搜索:推广搜不分家,属于数据科学中,对人的行为进行理解 2、计算机视觉CV:对人看到的东西进行理解 3、自然语言处理:对人交流的东西进行理解 4、数据挖掘和数据分析&…...
![](https://www.ngui.cc/images/no-images.jpg)
pandas处理json的相关操作
Pandas 是一个强大的数据处理库,它提供了丰富的功能来处理 JSON 数据。以下是 Pandas 中处理 JSON 的所有常见操作: 1. 读取 JSON 文件 使用 pandas.read_json() 函数可以从 JSON 文件或 JSON 字符串中读取数据。 从 JSON 文件读取 import pandas as …...
![](https://www.ngui.cc/images/no-images.jpg)
linux内存泄露定位过程(kmemleak和slab debug)
1,当遇到内存增加过多时,或者由于内存导致系统oom时我们怎么定位呢,定位时需要确认是内核态还是用户态内存泄露。 排查步骤 top查看VIRT和RES内存 rootubuntu2004:~# top top - 21:05:39 up 7 min, 1 user, load average: 5.01, 4.09, 2.…...
![](https://www.ngui.cc/images/no-images.jpg)
2025年安卓面试复习总结
文章目录 深入理解并熟练运用常用设计模式及反射原理,能够自定义注解及泛型,多次通过设计模式对 app 代码进行高效重构,显著提升代码的可维护性与扩展性。设计模式自定义注解泛型Kotlin泛型 精通多线程原理,对 ThreadPoolExecutor…...
![](https://www.ngui.cc/images/no-images.jpg)
JS scrollIntoView 技巧揭秘:解锁网页流畅交互
文章目录 一.基本概念二.语法和参数基本语法:element.scrollIntoView();参数详解: 三.应用场景和示例场景一:点击目录点位到相应的位置React 示例代码:Vue3 示例代码: 场景二:轮播图定位到指定图片示例代码…...
![](https://www.ngui.cc/images/no-images.jpg)
【Ubuntu 24.04】常见问题解决
1.24开启3D加速黑屏 参考文章:Ubuntu24开机黑屏,VMware卡死,虚拟机繁忙解决方案 没有3D加速就没有动画,所以我们需要开启3D加速,但是直接开启3D加速会黑屏 由于Ubuntu24内部的图形加速驱动异常,因此需要更新…...
![](https://www.ngui.cc/images/no-images.jpg)
前端依赖安装指南
前端依赖安装指南 一、NVM管理工具安装 1.在 Windows 上安装 下载 NVM for Windows 的安装程序:(最新版本可以在 nvm-windows Releases 页面 找到)运行下载的安装程序并按步骤操作。 2.配置 NVM exe安装自动配置环境变量 3. 验证 NVM 安装 验证 NVM 是否成功…...
![](https://i-blog.csdnimg.cn/direct/54a4bf1b13be4464a2a84285c38a35ff.png)
灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设
项目背景 本项目聚焦于黑龙江某一灌区的现代化改造工程,该灌区覆盖广阔,灌溉面积高达7.5万亩,地域上跨越6个乡镇及涵盖17个村庄。项目核心在于通过全面的信息化建设,强力推动节水灌溉措施的实施,旨在显著提升农业用水的…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.7/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=O83A)
ELK实战(最详细)
一、什么是ELK ELK是三个产品的简称:ElasticSearch(简称ES) 、Logstash 、Kibana 。其中: ElasticSearch:是一个开源分布式搜索引擎Logstash :是一个数据收集引擎,支持日志搜集、分析、过滤,支持大量数据…...
![](https://www.ngui.cc/images/no-images.jpg)
《大型语言模型与强化学习的融合:探索问题的新解决方案与开源验证需求》
强化学习在2020年代初期通过开源项目如CleanRL的多学习者PPO算法取得了显著进展,但在语言模型领域未能充分利用其潜力 1. 开源项目CleanRL的贡献 CleanRL 是一个致力于提供简单、高效且易于理解的强化学习(RL)算法实现的开源项目。该项目通…...
![](https://i-blog.csdnimg.cn/direct/8696b98e2db342ccb950e25be9423cb4.png)
springboot 默认的 mysql 驱动版本
本案例以 springboot 3.1.12 版本为例 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.12</version><relativePath/> </parent> 点击 spring-…...
![](https://www.ngui.cc/images/no-images.jpg)
10分钟快速了解OceanGPT(沧渊)
10分钟快速了解OceanGPT(沧渊) 海洋科学任务的大语言模型——OceanGPT OceanGPT是如何训练的?为了训练 OceanGPT (沧渊) ,收集了一个跨越多个领域的海洋科学语料库。由于每个子领域和主题都有其独特的数据特征和模式,因此提出了一个特定于领域的指令生成框架,称为 DoDirec…...
![](https://i-blog.csdnimg.cn/direct/aa0d9afbb2ac4d758bb31ea6e598cf82.png)
蓝桥杯嵌入式速通(1)
1.工程准备 创建一文件夹存放自己的代码,并在mdk中include上文件夹地址 把所有自身代码的头文件都放在headfile头文件中,之后只需要在新的文件中引用headfile即可 headfile中先提前可加入 #include "stdio.h" #include "string.h"…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis优化建议详解
Redis优化建议详解 1. 内存优化 1.1 内存配置 设置最大内存 maxmemory 4gb 内存淘汰策略 maxmemory-policy allkeys-lru 样本数量 maxmemory-samples 51.2 内存优化策略 数据结构优化 使用压缩列表(ziplist)合理设置hash-max-ziplist-entries使用整数…...
![](https://www.ngui.cc/images/no-images.jpg)
ceph 存储 full 阈值调整
前言 在 Ceph 集群中,默认情况下,当某些 OSD(对象存储守护进程)的使用率达到 85% 时,系统会发出 nearfull 警告,并可能限制进一步的写入操作,以防止数据丢失或集群不稳定。 要允许在 OSD 使用率超过 85% 的情况下继续写入,您可以调整以下两个参数: mon_osd_nearful…...
![](https://i-blog.csdnimg.cn/img_convert/59bea1a3ccc60490144f3d477164b2b3.png)
后端技术选型 sa-token校验学习 下 结合项目学习 后端鉴权
目录 后端注册拦截器 实现对 WebMvcConfigurer 接口的类实现 静态变量 方法重写 注册 Spring Framework拦截器 Sa-Token中SaServletFilter拦截器 思考 为什么使用两个拦截器 1. Spring Framework 拦截器 2. SaServletFilter 为什么要注册两个拦截器? 总结 …...
![](https://img-blog.csdnimg.cn/img_convert/3fea6105a9568a31091239a7e79e1f6f.gif)
wordpress报表模板下载/seo需求
「内心世界:你看我扎不扎你」悟纤:师傅,最近徒儿好扎心呐?师傅:徒儿,这是谁扎你心了?悟纤:最近碰到一个奇葩的问题,老是警告着我:信不信我扎你。师傅…...
![](/images/no-images.jpg)
网站关键词被百度屏蔽怎么办/广告推广方式
从树中的某一个顶点v0开始,构造生成树的算法执行过程: 1)将v0到其他顶点的所有边当做侯选边 2)重复以下步骤n-1次,使得其他n-1个顶点纳入生成树 从候选边中选出权值最小的边输出,并将与该边另一端的顶点v纳…...
![](/images/no-images.jpg)
刷业务网站怎么做/seo黑帽优化
删除项目中的版本控制,即删除项目文件夹下的所有.svn文件夹(在做项目的时候,有时候想把项目拷回去看看,但是文件太大了,而且压缩起来很慢。这主要是因为在项目中有大量的.svn文件夹。所以才想把.svn删除)。…...
培训机构网站模板/湖南网站设计外包服务
今天给大家科普:什么是傅里叶变换?什么是红黑树?希望能帮助到大家啦~下方图片可以单独保存收藏,也可以分享给朋友哦每日福利 点击公众号菜单:今日福利即可免费获得课程<玩转Linux:常用命令…...
![](https://img-blog.csdnimg.cn/20210208175100275.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQ1NDA0OA==,size_16,color_FFFFFF,t_70)
河间哪里有做网站的/广州最新疫情通报
1 问题 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示例 2: 给定二叉树…...
![](https://s1.51cto.com/images/blog/201903/26/89c1fca153eec1230dd2344492d52e6a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
seo兼职优化/南昌seo排名
前言深度学习作为人工智能的重要手段,迎来了爆发,在NLP、CV、物联网、无人机等多个领域都发挥了非常重要的作用。最近几年,各种深度学习算法层出不穷, Generative Adverarial Network(GAN)自2014年提出以来,引起广泛关注ÿ…...