SQL 取重复数据中ID号最小的数据

MySQL去除表中重复数据后保留最小ID数据【测试可用】 @开局警示:建议一步一步测试或重新建表测试,避免操作不当误删 DELETE FROM users WHERE id NOT IN ( SELECT temp.min_id FROM ( SELECT MIN(id) min_id FROM t_cement_concrete_info GROUP BY produce_time ) AS temp); 请编写一个SQL语句... 阅读详情

数据库操作中尽量不要使用条件“IN”语句

 

 

 

CREATE TABLE `zhoz_mst` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`title` VARCHAR( 66 ) NOT NULL ,
`kana` VARCHAR( 66 ) ,
`zz` VARCHAR( 66 ) NOT NULL
) ENGINE = MYISAM ;

插入测试数据:
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'aaa', 'bbb', 'ccc');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'aaa', 'bbb2', '2');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'aaa', 'bbb', '3');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'aaa', 'bbb', '4');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'a', 'b', '5');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'a', NULL, '6');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'a', NULL, '7');
INSERT INTO `zhoz0428`.`zhoz_mst` (`id` ,`title` ,`kana` ,`zz` )VALUES (NULL , 'a', 'b', '8');

      1 aaa bbb ccc
      2 aaa bbb2 2
      3 aaa bbb 3
      4 aaa bbb 4
      5 a b 5
      6 a NULL 6
      7 a NULL 7


删除保存最小ID:
select a.id, a.title, a.kana from zhoz_mst a
  where (a.title,a.kana) in  (select title,kana from zhoz_mst group by title,kana having count(*) > 1)
  and id not in (select min(id) from zhoz_mst group by title,kana having count(*)>1)

取出两字段完全相同:
select a.id, a.title, a.kana from zhoz_mst a
  where (a.title,a.kana) in  (select title,kana from zhoz_mst group by title,kana having count(*) > 1)
----------------------
      1 aaa bbb
      3 aaa bbb
      4 aaa bbb
      5 a b
      8 a b

 

 

取最大ID号

select  * from prn a
where a.flowid in(select max(flowid) from prn where tm>'2009-7-1' group by stcd  )

 

取最大ID号语句优化

 

select  * from prn a  (select max(flowid) flowid from prn where tm>'2010-1-28'group by stcd  ) b
where a.flowid=b.flowid

 

 

大学生电赛学习之路 可以看到全国大学生电子设计大赛的认可度是非常高的,属于A类学科竞赛。电子设计大赛的形式也是给出题目,参赛者有四天三夜的时间解决问题,题目大致可以分为:控制类、测量类、高频类以及电力电子类。该竞赛会在单数年的9月份举行。但是对于新生来说电赛确实遥不可及的,可能在很多学校本科生是不能进入实验室的,但是就算进了实验室你就有资格去参加电赛或者说能拿一个不错的奖项吗? 现在正值新生开学季,当然会有一大批学生会进入实验室的学习,电赛的举办时间是每年的暑假,所以说对于大一同学来说有一年的时间去准备,那我们就来说一说参加. 阅读详情

相关推荐

TI电机驱动应用中MOSFET选型完整指南

深入解析TI电机驱动设计中MOSFET的选型关键,涵盖参数匹配、热性能与开关效率,帮助工程师优化系统性能并提升能效,是掌握MOSFET应用的核心参考。

weixin_42263617的博客 1270

SQL查询重复数据,删除重复数据保留id最小的一条作为唯一数据

目录 1、使用背景 2、代码实现 3、SQL语句实现 4、原理总结 5、参考文章 1、使用背景  因为系统前期其他人员开发过程之中,没有针对add(添加操作)的接口,做幂等性验证,出现相关的业务数据出现错误,于是需要执行一条语句进行删除,保证数据唯一性。 2、代码实现 重复数据下图所示: 3、SQL语句实现 DELETE FROM cos_study_group_user WHERE Id NOT IN ( SELECT Id FRO...

一颗浑身披带雪花的松树---[雪松] 1903

Acute逻辑分析仪TL4134E实战:从触发电平到协议解析的完整避坑指南

本文是一份针对Acute逻辑分析仪TL4134E的实战避坑指南。文章深入解析了触发电平分组、采样率与存储深度权衡、高级触发等核心概念,并提供了混合电压系统测量、eMMC调试内存优化、SPI/I2C/UART协议解析排错等具体配置技巧,帮助硬件工程师和嵌入式开发者高效捕获与分析数字信号,快速定位通信问题。

weixin_29207149的博客 404

mysq DBA(二)sql编程

一、数据类型、常用函数、编码 一、数据类型 数据类型主要分为5个类型:整型、 1、INT类型 具体有TINYINT(1字节)、SMALLINT(2)、MEDIUMINT(3)、INT(4)、BIGINT(8) 常用的是INT类型,而且每个整型类型都有一个有符号(Signed)和无符号(UnSigned)类型,分别代表不同大小。 例如我们现在创建一个z表,里面有个字段为a且其符号类型为无符号、另一个字段b为tinyint类型且有符号: create table z ( a int unsi.

qq_35599414的博客 1092

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8060

传输线的特征阻抗

信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输入端或输出端处于阻抗匹配状态,简称为阻抗匹配。否则,便称为阻抗失配。有时也直接叫做匹配或失配。指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。- 对于电压驱动的电路,输入阻抗越大,则对电压源的负载就越轻,因而就越容易驱动,也不会对信号源有影响;

学海无涯的专栏 4464

SQL取重复数据保留ID最小的一条记录

select whir$3136_f3914,whir$3136_f3916,whir$3136_lx,whir$3136_f3915 from whir$3136 a where (a.whir$3136_f3916, a.whir$3136_f3914, a.whir$3136_f3915, a.whir$3136_lx) in...

zhugangxiong 1324

Stable Diffusion跑图总爆显存?别急着换显卡,试试这个PYTORCH_CUDA_ALLOC_CONF参数调优

本文深入解析了Stable Diffusion运行中常见的显存不足问题,特别是由显存碎片化导致的假性OOM现象。通过详细讲解PYTORCH_CUDA_ALLOC_CONF参数中的max_split_size_mb设置技巧,提供了一套完整的显存优化方案,帮助用户在无需升级硬件的情况下显著提升AI绘画的稳定性与效率。

weixin_42524100的博客 347

生产实例:删除一个表中的重复数据,只保留id最小的mysql

#删除t_jt_contract_user表中的重复数据,只保留id最小的 DELETE FROM t_jt_contract_user WHERE userIDCard IN (SELECT a.userIDCard FROM(SELECT userIDCard FROM t_jt_contract_user GROUP BY userIDCard HAVING COUNT(userIDCa...

hit、run 3423

【ACP】2025-最新-疑难题解析- 练习二汇总

全球加速是优化公网访问的,负载均衡是分发流量的,公网 NAT 网关是处理公网 IP 的,高速通道是建私网连接但不直接提供固定私网地址功能。C 是客户端加密方式,D 是 ECS 云盘加密,都不属于 OSS 服务器端加密。某企业想使用云服务器 ECS + 负载均衡 SLB + 弹性伸缩 (Auto Scaling) 的架构搭建一个企业级门户网站,技术负责人对于负载均衡和弹性伸缩配合使用没有经验,于是将他理解的两种产品配合使用的一些技术细节列成了一个表单,并请作为架构师的您帮他做一下鉴别,以下哪些项是正确的?

jundao1997的专栏 295

【GPFS专题5】---IBM Spectrum Scale (GPFS) 日常运维命令大全

掌握这些命令是有效管理 GPFS 集群的基础。实际生产环境中,建议结合自动化脚本和监控系统(如 IBM Storage Insights)实现高效运维。定期备份配置、监控性能指标,并进行灾备演练,是保障数据安全和系统稳定的关键。

jundao1997的专栏 841

sql 删除重复数据,保留重复数据最小ID

  select * from test ID Name 1 a 2 b 3 a 4 b 5 c 6 d   -- --标准sql方法:mysql、sql server-- -- 查询重复 方法一 select t.id,t.name from test t join( select min(id) id,name from test group ...

Triste_1993的博客 1313

2023华为od机试C卷【最富裕的小家庭】C语言 实现

在一颗树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为个小家庭。现给你一颗树,请计算出最富裕的小家庭的财富和。

MISAYAONE的博客 500

SQL如何删除重复数据

SQL如何删除重复数据

qq_37705525的博客 5万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

sql重复数据查询,sql分组数据查询,sql分组数据的总条数,sql分组后数据的条数(条数大于1的显示), 删除多余重复数据

sql重复数据查询,sql分组数据查询,sql分组数据的总条数,sql分组后数据的条数(条数大于1的显示), 删除多余重复数据

橙-极纪元-JJYCheng 3752

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

sql:删除重复数据并且只保留id最小的一条

一、使用情况 当测试数据库中,有重复数据会导致selectOne报错时,可以使用这句sql,只保留id最小的一条数据,删除其余的重复数据。 二、场景实例 例如有下方这样的数据: id | name | openid 1 | 张三 | 2_0_10001234 2 | 张三 | 2_0_10001234 3 | 张三 | 2_0_10001234 其中,有3条openid重复的数据; 现在要删掉重复的、只留下id最小的1条,如下: id | name | openid

BHSZZY的博客 4324

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据

MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 目录导航: 开发背景: 实战: 表结构如下图所示: 操作: 总结: 回到顶部 开发背景:   最近在做一个批量数据导入到MySQL数据库的功能,从批量导入就可以知道,这样的数据在插入数据库之前是不会进行重复判断的,因此只有在全部数据导入进去以后在执行一条语句进行...

weixin_33775572的博客 434

SQL 删除重复数据,重复数据只保留ID最小的行

 删除重复数据,重复数据只保留ID最小的行 DELETE FROM t_customer_comment WHERE id IN ( SELECT * FROM ( SELECT id FROM t_customer_comment WHERE remaintain_order_id IN ( SELEC...

BearMX的专栏 3253

mysql删除重复数据,并保留重复数据中最小id所在行的数据

原始数据库 usename重复数据删除 第一步 找出username 字段有重复值 且count >1的username值 第二步 username字段有重复且count>1数据的最小id 显然就是以name为条件删除 id 不在第二步里面的所有数据 我们拼接sql语句 结果 #第一步 找出username 字段有重复值 且count &gt...

qq_34376868的博客 467

Sql 查询一个表中的重复数据

首先有一个字典表,里面有唯一主键id,编码drgs_code,年份year,有效性is_valid等关联条件因为有重复数据,所以导致关联时界面显示重复数据 第一次先通过编码drgs_code,年份year,有效性is_valid(1是有效的)分组查询: select dzd.drgs_code, dzd.year, dzd.is_valid from dw_zd_year...

优快云_admin_的博客 3220

SQL面试题:删除表中指定字段的重复数据,只保留最小的id数据

案例 需求 有一个汽车表,字段有id主键、name、color、price。现需要删除car表中颜色color字段的重复数据,只保留最小的id数据。 实现 错误SQL语句: delete from car where color in (select color from car GROUP BY color HAVING COUNT(color)>1) and id not in (select min(id) from car GROUP BY color HAVING coun

NoviceZ的博客 1565

mysql查找和删除重复数据,保留id最小的一条

在大量数据的情况下,可能会存在某些数据重复的情况,比如说某个字段重复,某几个字段重复,有时候我们需要针对重复数据进行一些操作,下面通过例子说明如何查询和删除重复数据。 假如有如下数据表,表名dep,其中deptno为主键 1、查询重复数据,重复记录是根据单个字段(dname)来判断 SELECT * FROM dep WHERE dname IN ( ...

Die Another Day! 1762

MySQL查询重复数据

假设有一个用户表 user,数据如下: 1、查询表中 uid 重复的数据 SELECT id, uid, name FROM USER WHERE uid IN (SELECT uid FROM USER GROUP BY uid HAVING COUNT(uid) > 1); 2、查询表中重复数据,排除最小id SELECT id, uid, name FROM user WHERE uid IN (SELECT uid FROM use

幽篁晓筑的博客 3873

MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 ...

MySQL 查询重复数据,删除重复数据保留id最小的一条作为唯一数据 目录导航: 开发背景: 实战: 表结构如下图所示: 操作: 总结: 回到顶部 开发背景:   最近在做一个批量数据导入到MySQL数据库的功能,从批量导入就可以知道,这样的数据在插入数据库之前是不会进行重复判断的,因此只有在全部数据导入进去以后在执行一条语句进行...

weixin_34417635的博客 814

sql数据库删除重复行,保留一条记录(最大/最小id)

删除重复,保留最小id delete from table where exists (select 1 from table t1 where t1.重复字du段 = table.重复字段 and t1.id < table.id ) -----------看成是一个循zhi环,从表第一行到最后一行,dao如果存在比本行ID小的重复数据,那么删除本行。这样循环后的最终结果就是保留了最小ID的一行。 保留最大也是同理 delete from table where exists (selec

红狼大大的博客 3450

SQL 如何处理重复数据

处理重复数据是数据库管理中不可避免的一部分。通过本文,你应该了解了如何使用 SQL 查找、删除以及预防重复数据的产生。合理利用 SQL 的功能,可以大大提高数据管理的效率和数据的质量。详解 SQL 如何处理重复数据。

u014109358的博客 3395
上一篇: 防复制,粘贴,选取
下一篇: 重创建自增长字段
yfly13
博客等级 码龄18年 22粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值