mysql 数据查重与查重分页
起因是公司的crm录入不规范,有重复数据。
之后考虑到需要手动处理,首先需要自动找出重复的数据
查重要求:
存在多个不允许重复的字段,任一字段重复,则判断为同一个客户。划分到同一重复组中。
查重sql如下
SELECT CONCAT('组', dense_rank() OVER (ORDER BY group_key)) AS group_info,id, name, tel
FROM (SELECT id, name, tel,CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1')) AS group_key,COUNT(*) OVER (PARTITION BY CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1'))) AS group_countFROM customer
) AS subquery
WHERE group_count > 1
ORDER BY group_key
通过上述sql可以获得一个查重的sql。
那么接下来的问题是如果重复数据大,我们是需要一个分页的。首先我们需要知道重复了多少组。
用以下sql获取:
SELECT COUNT(*) AS total_count
FROM (SELECT DISTINCT group_infoFROM (SELECT CONCAT('组', dense_rank() OVER (ORDER BY group_key)) AS group_info,id, name, tel
FROM (SELECT id, name, tel,CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1')) AS group_key,COUNT(*) OVER (PARTITION BY CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1'))) AS group_countFROM customer
) AS subquery
WHERE group_count > 1
ORDER BY group_key) AS data_counts
) AS distinct_groups;
这里的分页应当按照重复组分页,传统的分页就失效了。所以我们就需要手动计算分页。
把分组字段group_info中的组字去掉,按group_info进行大于,小于判断
SELECT dense_rank() OVER (ORDER BY group_key) AS group_info,id, name, tel
FROM (SELECT id, name, tel,CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1')) AS group_key,COUNT(*) OVER (PARTITION BY CONCAT_WS('-', IF(name IS NULL, '', name), IF(tel IS NULL, '', '1'))) AS group_countFROM customer
) AS subquery
WHERE group_count > 1
AND group_info>0 AND group_info<11
ORDER BY group_key
相关文章:
mysql 数据查重与查重分页
起因是公司的crm录入不规范,有重复数据。 之后考虑到需要手动处理,首先需要自动找出重复的数据 查重要求: 存在多个不允许重复的字段,任一字段重复,则判断为同一个客户。划分到同一重复组中。 查重sql如下 SELECT C…...
微服务(12)
目录 56.k8s是怎么进行服务注册的? 57.k8s集群外流量怎么访问Pod? 58.k8s数据持久化的方式有哪些? 59.Relica Set和Replication Controller之间有什么区别? 60.什么是Service Mesh(服务网格)&#x…...
iOS实时查看App运行日志
目录 一、设备连接 二、使用克魔助手查看日志 三、过滤我们自己App的日志 📝 摘要: 本文介绍了如何在iOS iPhone设备上实时查看输出在console控制台的日志。通过克魔助手工具,我们可以连接手机并方便地筛选我们自己App的日志。 Ǵ…...
【计算机毕业设计】SSM健身房管理系统
项目介绍 本项目为后台管理系统,主要分为管理员与用户两种角色; 登录页面,管理员首页,会员增删改查,教练增删改查,运动器材管理等功能。 用户角色包含以下功能: 用户登录页面,用户首页,选择课程,选择教练等功能。 环境需要 1.运行环境&a…...
嵌入式Linux之MX6ULL裸机开发学习笔记(IMX启动方式-启动设备的选择)
一,硬件启动方式选择 1.启动方式的选择 6ull支持多种启动方式。 比如可以从 SD/EMMC、 NAND Flash、 QSPI Flash等启动。 6ull是怎么支持多种外置flash启动程序的。 1.启动方式选择: BOOT_MODE0 and BOOT_MODE1,这两个是两个IO来控制的,…...
K8S Ingress-Nginx导出TCP端口
ingress-nginx导出TCP端口 Exposing TCP and UDP services - Ingress-Nginx Controllerhttps://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md helm upgrade ingress-nginx导出redis 6379端口(这种方式最简单&…...
索引类型-哈希索引
一. 前言 前面我们简单介绍了数据库的B-Tree索引,下面我们介绍另一种索引类型-哈希索引。 二. 哈希索引的简介 哈希索引(hash index) 基于哈希表实现,只有精确匹配索引所有列的查询才有效。对于每一行数据,存储引擎都会对所有索引列计算一个…...
uniapp中组件库的Textarea 文本域的丰富使用方法
目录 #平台差异说明 #基本使用 #字数统计 #自动增高 #禁用状态 #下划线模式 #格式化处理 API #List Props #Methods #List Events 文本域此组件满足了可能出现的表单信息补充,编辑等实际逻辑的功能,内置了字数校验等 注意: 由于…...
LLM、AGI、多模态AI 篇三:微调模型
文章目录 系列LLM的几个应用层次Lora技术其他微调技术FreezeP-TuningQLoRA指令设计构建高质量的数据微调步骤系列 LLM、AGI、多模态AI 篇一:开源大语言模型简记 LLM、AGI、多模态AI 篇二:Prompt编写技巧 LLM、AGI、多模态AI 篇三...
IPC之十二:使用libdbus在D-Bus上异步发送/接收信号的实例
IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,本 IPC 系列文章的前十篇介绍了几乎所有的常用的 IPC 方法,每种方法都给出了具体实例,前面的文章里介绍了 D-Bus 的基本概念以及调用远程方法的实例,本文介绍 D-Bus…...
ES6之生成器(Generator)
✨ 专栏介绍 在现代Web开发中,JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性,还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言,JavaScript具有广泛的应用场景&#x…...
Matlab技巧[绘画逻辑分析仪产生的数据]
绘画逻辑分析仪产生的数据 逻分上抓到了ADC数字信号,一共是10Bit,12MHZ的波形: 这里用并口协议已经解析出数据: 导出csv表格数据(这个数据为补码,所以要做数据转换): 现在要把这个数据绘制成波形,用Python和表格直接绘制速度太慢了,转了一圈发现MATLAB很好用,操作方法如下:…...
Go面试题学习
1.并发安全性 Go语言中的并发安全性是什么?如何确保并发安全性? 并发安全性是指在并发编程中,多个goroutine对共享资源的访问不会导致数据竞争和不确定的结果。 使用互斥锁(Mutex):通过使用互斥锁来保护…...
SQL效率-查询条件需避免使用函数处理索引字段
一个sql效率的问题 问题 假设created_at 是date类型、是索引,那么以下2种方式有没效率差异: WHERE TO_CHAR(created_at, ‘YYYY-MM-DD’) ‘2020-02-01’WHERE created_at TO_DATE(‘2020-02-01’ , ‘YYYY-MM-DD’) DBA回复 有的,第一…...
【Spring 篇】Spring:轻松驾驭 Java 世界的利器
在 Java 开发领域,Spring 框架无疑是一颗璀璨的明星,它不仅提供了全面的企业级特性,还为开发者提供了简便而强大的开发方式。本文将深入探讨 Spring 框架的简介、配置和快速入门,带你轻松驾驭 Java 世界的利器。 Spring 简介 Sp…...
八个LOGO素材网站推荐分享
即时设计资源广场 在UI界面设计中,为了找到合适的图标icon,你有没有尝试过翻遍整个网络,找到自己想要的,却无法下载或收费使用?最后,只收集图标icon材料需要半天时间。专业设计师使用的图标icon设计材料“…...
React格式化规范
React并没有特定的格式要求,它允许开发者根据自己的喜好和项目需求来选择代码的格式化风格。然而,在React社区中有一些常见的约定和最佳实践,以下是一些常用的格式化规范和建议: 缩进:使用2个或4个空格来进行缩进&…...
如何利用Conda管理多种虚拟环境与Jupyter Notebook内核切换
写在开头 在数据科学与机器学习领域,项目之间可能存在不同的依赖关系和版本要求。为了有效管理这些差异,使用虚拟环境成为一种标准实践。本文将介绍如何利用Conda这一强大的环境管理工具,结合Jupyter Notebook,使得在不同项目之间灵活切换变得轻而易举。 2. Conda简介 2…...
博客摘录「 什么是QPS、TPS、吞吐量?- 高并发名词概念」2024年1月5日
1.什么是高并发? 高并发(High Concurrency)。通常是指系统在短时间内的大量操作。 高并发相关的常见指标有:QPS、TPS、吞吐量、并发数等。 2.QPS(Query Per Second) QPS每秒查询率,是指系统…...
PTA——逆序的三位数
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出按位逆序…...
敲敲云零代码平台一键部署实战:命令安装 vs Docker 安装
敲敲云提供两种一键部署方式,一条命令即可完成私有化部署,全程约 3 分钟。本文记录实际操作过程 部署前准备 服务器配置建议: 4 核 8GB 内存,50GB SSD 系统盘。支持系统:TencentOS、Alibaba Cloud Linux、CentOS Stre…...
IndexTTS2 V23应用案例:打造智能客服语音,让机器说话更有人情味
IndexTTS2 V23应用案例:打造智能客服语音,让机器说话更有人情味 1. 为什么智能客服需要情感语音? 在当今的客户服务场景中,冰冷的机械语音正在被市场淘汰。研究表明,带有适当情感的语音交互能显著提升用户体验&#…...
WPF项目实战视频《四》(主要为项目实战API设计)
30.WPF项目实战(创建数据库)31.WPF项目实战(工作单元)32.WPF项目实战(待办事项接口)33.WPF项目实战(配置)34.WPF项目实战(备忘录接口)35.WPF项目实战…...
PyTorch 2.8镜像实操手册:Git+vim+htop+screen开发运维一体化工作流
PyTorch 2.8镜像实操手册:Gitvimhtopscreen开发运维一体化工作流 1. 镜像概述与环境准备 PyTorch 2.8深度学习镜像是一个为专业开发者打造的全功能工作环境,基于RTX 4090D 24GB显卡和CUDA 12.4进行了深度优化。这个镜像不仅预装了最新版的PyTorch框架&…...
【回眸】头马演讲备稿演讲框架——出走的莉莉丝
其实我原本是不知道莉莉丝的,在坐有人知道莉莉丝的故事吗?(互动一下)莉莉丝本来和亚当一样,也是一个人,但她为了追求与亚当平等,逃脱了伊甸园,于是一根“肋骨”变成了夏娃࿰…...
SAP 生产订单批量创建与下达实战:基于 BAPI_PRODORD_CREATE 的自动化方案
1. 为什么需要批量创建生产订单? 在制造业的实际业务场景中,生产计划部门经常需要根据销售订单、预测数据或库存情况,一次性生成大量生产订单。想象一下,一个汽车零部件工厂每月要处理上千个零部件的生产计划,如果每个…...
OpenClaw多语言支持:Qwen2.5-VL-7B跨语种图文处理技巧
OpenClaw多语言支持:Qwen2.5-VL-7B跨语种图文处理技巧 1. 为什么需要多语言图文处理 上周我收到一份混合了英文技术文档和中文注释的项目资料,需要整理成统一格式的双语对照版本。手动复制粘贴到翻译工具再调整排版,花了我整整三个小时。这…...
Mojo调用PyTorch模型推理却遭遇内存泄漏?——国家级实验室验证的4层内存隔离架构首次公开
第一章:Mojo调用PyTorch模型推理却遭遇内存泄漏?——国家级实验室验证的4层内存隔离架构首次公开在高性能AI边缘部署场景中,Mojo语言通过其零开销FFI机制调用PyTorch C前端(LibTorch)实现低延迟推理,但实测…...
SQLite3嵌入式开发实战:从零构建一个轻量级学生管理系统(C语言版)
SQLite3嵌入式开发实战:从零构建一个轻量级学生管理系统(C语言版) 在嵌入式系统开发中,数据存储和管理一直是开发者需要面对的核心问题之一。传统文件系统虽然简单,但缺乏结构化查询能力;而大型数据库又过…...
Redis 单线程真的是单线程吗?源码角度全面解析
Redis 是单线程的——这句话流传太广了,以至于很多人真的以为 Redis 就一个线程在跑。但实际上,如果你 ps -ef 或者 top 看一眼正在运行的 Redis 进程,会发现线程数不止一个。 到底怎么回事?这篇文章从源码角度把这个问题彻底说清…...
