当前位置: 首页 > news >正文

mysql 过滤多列重复的值(保留其中一条),对单列或者多列重复的值去重

建立测试数据表

CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`account` varchar(255) DEFAULT NULL,`password` varchar(255) DEFAULT NULL,`deviceId` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (10, 'A', '123456', 'A111');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (20, 'B', '1234562', 'A222');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (30, 'C', '123456', 'A333');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (40, 'D', '1234563', 'A444');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (50, 'E', '1234561', 'A111');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (60, 'C', '1234561', 'A333');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (70, 'C', '1234564', 'A333');
INSERT INTO `test`.`test` (`id`, `account`, `password`, `deviceId`) VALUES (80, 'D', '1234565', 'A444');

根据单列去重

-- 找到哪些是重复的行
-- 赛选需要留下的行
-- 从重复的行去除留下的行,得到需要排除的行
SELECT* 
FROMtest 
WHEREid NOT IN (SELECTid FROMtest WHEREaccount IN ( SELECT account FROM test GROUP BY account HAVING count( account ) > 1 ) AND id NOT IN ( SELECT max( id ) FROM test GROUP BY account HAVING count( account ) > 1 ) )

根据多列去重

-- group by 之后使用的聚合函数都是统计组内的信息,
-- only_full_groupby模式要明确分组之后select的值应该取哪一个,如果取的字段无法适用于任何聚合函数的话,可以用any_value 但是any_value到底是取得哪一个呢,常用的场景是先排序再分组取第一个
-- 需要子查询或者join,根据查询的重复字段去原始记录表匹配
SELECT* 
FROMtest 
WHEREid NOT IN (SELECTid FROMtest join  ( SELECT account,deviceId FROM test GROUP BY account, deviceId HAVING count( account ) > 1 and count(deviceId) > 1 ) as ref on ref.account = test.account and ref.deviceId = test.deviceIdAND id NOT IN ( SELECT min(id) FROM test GROUP BY account, deviceId HAVING count( account ) > 1 and count(deviceId) > 1 ) )

在查找所有的重复列的时候,可以用子查询去匹配也可以用join。看哪个用的熟练了。

简介版

SELECT* 
FROMtest 
WHEREid  IN (SELECT min(id) AS idFROM testGROUP BY account, deviceId)

参考

https://blog.csdn.net/qq_35387940/article/details/108074927

相关文章:

mysql 过滤多列重复的值(保留其中一条),对单列或者多列重复的值去重

建立测试数据表 CREATE TABLE test (id int(11) NOT NULL AUTO_INCREMENT,account varchar(255) DEFAULT NULL,password varchar(255) DEFAULT NULL,deviceId varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT11 DEFAULT CHARSETutf8mb4;INSERT INT…...

面向红队的自动化引擎工具

gogo 介绍 面向红队的、高度可控的可拓展的自动化引擎。特征如下: 自由的端口配置 支持主动/主动指纹识别 关键信息提取,如标题、证书以及自定义提取信息的正则 支持nuclei poc,poc目录:https://chainreactors.github.io/wiki/…...

Python库学习(十):Matplotlib绘画库

1. 介绍 Matplotlib 是一个用于绘制图表和可视化数据的 Python 库。它提供了丰富的绘图工具,可以用于生成各种静态、交互式和动画图表。Matplotlib 是数据科学、机器学习和科学计算领域中最流行的绘图库之一。 1.1 关键特性 以下是 Matplotlib 的一些关键特性&…...

coverity工具 代码审计

第39篇:Coverity代码审计/代码扫描工具的使用教程_希潭实验室ABC123的博客-CSDN博客...

女鹅冬天的第一件羽绒服,当然要时尚经典的

90白鸭绒,高密度充绒量和蓬松度 让这件羽绒服更加饱满更有型 三防工艺,立领连帽设计 下摆抽绳,帽子上的魔术贴设计 无一不将保暖落实在实处 宽松版型立体感很强,对身材的包容性也是非常不错...

智慧渔业方案:AI渔政视频智能监管平台助力水域禁渔执法

一、方案背景 国内有很多水库及河流设立了禁渔期,加强渔政执法监管对保障国家渔业权益、维护渔业生产秩序、保护渔民群众生命财产安全、推进水域生态文明建设具有重要意义。目前,部分地区的监管手段信息化水平低下,存在人员少、职责多、任务…...

LXC、Docker、 Kubernetes 容器以及Hypervisor的区别

LXC、Docker、 Kubernetes 容器以及Hypervisor的区别 SaaS: Software-as-a-Service(软件即服务) PaaS: Platform-as-a-Service(平台即服务) IaaS: Infrastructure-as-a-Service(基础设施即服务) 1、Docke…...

电子杂志制作不求人:简单易用的工具推荐

​如果你想要制作一份精美的电子杂志,但是又不想花费太多的时间和金钱,也不想求及朋友帮忙制作,那么可以试试这个网站制作电子杂志,展现出的效果跟专业级设计师的效果没什么区别哦 赶快收藏吧-------FLBOOK在线制作电子杂志平台&a…...

Excel冻结窗格

1、冻结表格首行 点击菜单栏中的“视图”,选择“窗口”选项卡中的“冻结窗格”下的小三角,再选择“冻结首行”; 2.冻结表格首列 点击菜单栏中的“视图”,选择“窗口”选项卡中的“冻结窗格”下的小三角,再选择“冻结…...

Flink自定义sink并支持insert overwrite 功能

前言 自定义flink sink,批模式下,有insert overwrite 需求或需要启动任务或任务完成后时,只执行一次某些操作时,则可参考此文章 组件: flink: 1.15 参考文档:https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/dev/table/sourcessinks/ 分析 inser…...

CSS Vue/RN 背景使用opacity,文字在背景上显示

Vue <div class"training_project_tip"> <div class"tip">展示的文字</div> </div> .training_project_tip { font-size: 12px; font-weight: 400; text-align: left; color: #ffffff; margin-top: 8px; position: relative; dis…...

vue3自定义指令批量注册

第一步、在src目录下新建directives文件文件夹 用来存放不同的指令&#xff0c;以dbounce指令为例&#xff1a; 第二步、在directives目录下创建debounce.js文件&#xff0c;文件内容如下&#xff1a; // 防抖 const debounceClick {mounted(el, binding) {let timerel.addE…...

山西电力市场日前价格预测【2023-10-18】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-10-18&#xff09;山西电力市场全天平均日前电价为348.72元/MWh。其中&#xff0c;最高日前电价为505.50元/MWh&#xff0c;预计出现在18: 00。最低日前电价为288.10元/MWh&#xff0c;预计…...

2-k8s-控制器介绍

文章目录 一、控制器类型二、Deployment控制器三、SatefulSet控制器四、Daemonset控制器五、Job控制器六、CronJob 控制器 一、控制器类型 Deployment&#xff1a;适合无状态的服务部署StatefullSet&#xff1a;适合有状态的服务部署DaemonSet&#xff1a;一次部署&#xff0c…...

【数据结构】二叉树--OJ练习题

目录 1 单值二叉树 2 相同的树 3 另一颗树的子树 4 二叉树的前序遍历 5 二叉树的最大深度 6 对称二叉树 7 二叉树遍历 1 单值二叉树 965. 单值二叉树 - 力扣&#xff08;LeetCode&#xff09; bool isUnivalTree(struct TreeNode* root) {if (root NULL){return true;}…...

时间复杂度为 O(n^2) 的排序算法

大家好&#xff0c;我是 方圆。对于小规模数据&#xff0c;我们可以选用时间复杂度为 O(n2) 的排序算法&#xff0c;因为时间复杂度并不代表实际代码的执行时间&#xff0c;而且它也省去了低阶、系数和常数&#xff0c;仅代表的增长趋势&#xff0c;所以在小规模数据情况下&…...

ES6 Map数据结构

1.Map是什么&#xff1f; ES6 提供的另一种新的引用类型的数据结构 它类似于对象&#xff0c;也是键值对的集合&#xff0c;但是“键”的范围不限于字符串&#xff0c;各种类型的值&#xff08;包括对象&#xff09;都可以当作键&#xff09; 以前引用类型中的对象也是键值对…...

网页数据采集HTTP Get,Post登录提交数据--VBS之Microsoft.XMLHTTP对象

MSXML中提供了Microsoft.XMLHTTP对象&#xff0c;能够完成从数据包到Request对象的转换以及发送任务。 创建XMLHTTP对象的语句如下&#xff1a; Set objXML CreateObject("Msxml2.XMLHTTP") 或 Set objXML CreateObject(“Microsoft.XMLHTTP”) Or, for version 3…...

强化科技创新“辐射力”,中国移动的数智化大棋局

作者 | 曾响铃 文 | 响铃说 丝滑流畅的5G连接、每时每刻的数字生活服务、无处不在的智能终端、拟人交流的AI助手、梦幻般的XR虚拟现实、直接感受的裸眼3D…… 不知不觉&#xff0c;那个科幻片中的世界&#xff0c;越来越近。 数智化新世界的“气氛”&#xff0c;由一个个具…...

喜报 | 擎创科技实力亮相2023科创会并荣获科技创新奖

近日&#xff0c;由国家互联网数据中心产业技术创新战略联盟&#xff08;NIISA&#xff09;主办的“2023第二届国际互联网产业科技创新大会暨互联网创新产品展览会”于北京圆满落幕。 擎创科技副总裁冯陈湧受邀出席本次论坛&#xff0c;并发表了“银行分布式核心智能运维体系思…...

在OpenClaw项目中配置Taotoken作为Agent的模型供应商

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在OpenClaw项目中配置Taotoken作为Agent的模型供应商 基础教程类&#xff0c;指导在虚拟机环境使用OpenClaw框架开发AI Agent的用户…...

省下PLC的钱!用海康VC3000工控机GPIO控制LED灯(C# WinForm实战)

海康VC3000工控机GPIO控制实战&#xff1a;低成本替代PLC的完整方案 在工业自动化领域&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;长期以来都是控制系统的核心组件。但对于简单的指示灯控制、报警系统或小型继电器控制这类基础应用&#xff0c;动辄数千元的PLC模…...

企业如何通过API Key管理与审计日志加强内部AI应用管控

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 企业如何通过API Key管理与审计日志加强内部AI应用管控 对于在企业内部规模化部署大模型应用的团队而言&#xff0c;如何确保资源被…...

R3nzSkin内存换肤技术实现与国服应用实践

R3nzSkin内存换肤技术实现与国服应用实践 【免费下载链接】R3nzSkin-For-China-Server Skin changer for League of Legends (LOL) 项目地址: https://gitcode.com/gh_mirrors/r3/R3nzSkin-For-China-Server R3nzSkin是一款专为中国服务器优化的英雄联盟内存换肤工具&am…...

傅里叶变换加速视觉模型:频域卷积与FiT架构实战

1. 项目概述&#xff1a;用傅里叶变换为视觉模型“减负”在计算机视觉的模型炼金术里&#xff0c;我们总在追求一个看似矛盾的平衡&#xff1a;既要模型“看得更清”&#xff08;更高的精度和更强的特征提取能力&#xff09;&#xff0c;又要它“跑得更快”&#xff08;更低的计…...

不加机器也能提速10倍?低成本优化系统性能,才是高手真正的实力

不加机器也能提速10倍?低成本优化系统性能,才是高手真正的实力 很多公司一遇到系统卡顿。 第一反应特别统一: 加机器。CPU 不够? 加。 QPS 扛不住? 扩容。 数据库慢? 上集群。 结果最后: 服务器越来越多。 成本越来越高。 系统还是越来越慢。 最离谱的是: 有…...

白起杀降将卒,项羽杀降,黄巢他们有的选择吗?

杀降不是暴君的个人意志&#xff0c;而是一场场被逼到极限的“系统自保”。 白起要为40万战俘找活路&#xff0c;项羽要喂活20万张嘴并防止后院起火&#xff0c;黄巢要让自己和十几万兄弟明天不饿死。杀降本身这份“答卷”固然是反人类的&#xff0c;但那份出题人的冷酷与无情&…...

紫光同创Logos系列FPGA的PCB设计避坑指南:从BGA扇出到配置管脚,新手必看

紫光同创Logos系列FPGA的PCB设计避坑指南&#xff1a;从BGA扇出到配置管脚实战解析 第一次接触紫光同创Logos系列FPGA的硬件设计时&#xff0c;面对密密麻麻的BGA封装和复杂的配置电路&#xff0c;多数工程师都会感到无从下手。我在设计第一块PGL22G开发板时&#xff0c;就曾因…...

5G FR1与FR2频段下,SSB的Kssb子载波偏移配置实战与避坑指南

5G FR1与FR2频段下SSB的Kssb子载波偏移配置实战与避坑指南 在5G网络部署中&#xff0c;同步信号块&#xff08;SSB&#xff09;的配置直接关系到终端设备能否成功接入网络。其中&#xff0c;Kssb子载波偏移参数在不同频段&#xff08;FR1与FR2&#xff09;下的取值范围和单位存…...

避坑指南:ArcGIS处理SRTM DEM时空间参考丢失、裁剪异常的终极解决方案

ArcGIS处理SRTM DEM数据避坑实战手册&#xff1a;从空间参考丢失到精准裁剪的全流程解析 当你从NASA官网下载了SRTM DEM数据&#xff0c;满心欢喜地准备进行地形分析时&#xff0c;是否遇到过这些"玄学"问题&#xff1f;裁剪后的中国地图边界莫名其妙偏移了几百公里&…...