每类数据保留前n条(sql)

1、前言

因为遇到过好几次该需求,所以想着总结下,以后可以直接复用

2、背景及需求

背景:数据库中有多类数据,每类数据都有很多条

需求:每类数据按id排序,保留id较大的前1000条数据(注意是每类数据都保留1000条),其余数据删除

3、解决方案

1)开窗函数 - mysql8

delete ci.* from copy_info ci 
left join  
(select id,num //获取每类数据排在第1000位置的那条数据from(select id,num,ROW_NUMBER() OVER (PARTITION BY Num ORDER BY id desc) as rk from copy_info )twhere rk=1000
) t1
on ci.num = t1.num
where t1.id is not null and ci.id < t1.id //删除每类数据中id小于第1000位置那条数据id的所有数据

引申:上述是删除,如果我们要查询每类数据id较大的前1000条也比较简单。如下:

select ci.* from copy_info ci 
left join  
(select id,num from(select id,num,ROW_NUMBER() OVER (PARTITION BY Num ORDER BY id desc) as rk from copy_info )twhere rk=1000
) t1
on ci.num = t1.num
where t1.id is null  or ci.id > t1.id  //如果某类数据不到1000条,那么t1.id将会为null

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/48923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高速ADC模拟输入接口设计

目录 基本输入接口考虑 输入阻抗 输入驱动 带宽和通带平坦度 噪声 失真 变压器耦合前端 有源耦合前端网络 基本输入接口考虑 采用高输入频率、高速模数转换器(ADC)的系统设计是一 项具挑战性的任务。ADC输入接口设计有6个主要条件&#xff1a; 输入阻抗、输入驱动、带宽…

MYSQL设计和开发规范(简易版)

MYSQL设计和开发规范 1. 整体描述2. 数据库设计规范2.1 表名命名规则2.2 是否字段2.3 字母与数字2.4 禁止使用保留字2.5 可变字符串规范2.6 字段设计 3. 数据库索引规范3.1 命名规则3.2 唯一索引规范3.3 join规范3.4 varchar规范3.5 模糊搜索规范 4. 数据库SQL语句规范4.1 语句…

开源模型应用落地-FastAPI-助力模型交互-进阶篇-中间件(四)

一、前言 FastAPI 的高级用法可以为开发人员带来许多好处。它能帮助实现更复杂的路由逻辑和参数处理&#xff0c;使应用程序能够处理各种不同的请求场景&#xff0c;提高应用程序的灵活性和可扩展性。 在数据验证和转换方面&#xff0c;高级用法提供了更精细和准确的控制&#…

IPython魔法命令的深入应用

目录 IPython魔法命令的深入应用 一、魔法命令基础 1. 魔法命令的分类 2. 基本使用 二、高级应用技巧 1. 数据交互与处理 2. 交互式编程与调试 三、魔法命令的进阶操作 1. 自定义魔法命令 2. 利用魔法命令优化工作流程 四、总结与展望 IPython魔法命令的深入应用 IP…

vulnhub——Ai-Web1靶机渗透

Ai-Web1靶机渗透 靶机下载&#xff1a; 官网地址&#xff1a;https://www.vulnhub.com/entry/ai-web-1,353/ 攻击机&#xff1a;kali2024 一、信息收集 发下目标主机的IP为&#xff1a;192.168.201.141 用nmap工具扫描一下对方主机和服务 发现他打开了80端口 发现搜不到于是…

人是一个AI Agent吗?

人是一个AI Agent吗&#xff1f; 什么是AI Agent&#xff1f;人类的感知能力人类的推理与决策人类的执行能力人类的学习能力人类作为AI Agent的局限性结论 随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;AI已经在许多领域展现出其强大的能力。AI Agent&…

详解数据结构之二叉树(堆)

详解数据结构之二叉树(堆) 树 树的概念 树是一个非线性结构的数据结构&#xff0c;它是由 n(n>0)个有限节点组成的一个具有层次关系的集合&#xff0c;它的外观形似一颗倒挂着的树&#xff0c;根朝上&#xff0c;叶朝下&#xff0c;所以称呼为树。每颗子树的根节点有且只…

C#调用非托管dll的两种方式

C#调用非托管DLL的两种方式 在开发过程中&#xff0c;我们经常需要调用一些非托管的DLL库&#xff0c;比如用Delphi编写的DLL。本文将介绍两种在C#中调用非托管DLL的方法。 示例DLL 首先&#xff0c;我们有一个Delphi编写的DLL&#xff0c;它导出了一个名为MyFunction的方法…

TextView实现原理分析

TextView 是 Android 中用于显示文本的核心组件&#xff0c;它的实现原理涉及多个方面&#xff0c;包括文本渲染、布局计算、滚动支持等。下面&#xff0c;我将结合源码分析 TextView 的关键实现细节。 1. 构造和初始化 TextView 是 View 的子类&#xff0c;同时继承自 AppCo…

QXlsx读写excel

QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API&#xff0c;可以…

Android Studio关于Gradle及JDK问题解决

1.Android Studio 版本如&#xff1a;Android Studio Koala | 2024.1.1 2.Gradle 版本为&#xff1a;8.7 3.JDK 版本为&#xff1a;17 以上这三个必须匹配&#xff0c;具体可以看官网Android Studio 版本说明&#xff08;https://developer.android.google.cn/studio?hlzh-…

autoware.universe源码略读(3.17)--perception:occupancy_grid_map_outlier_filter

autoware.universe源码略读3.17--perception:occupancy_grid_map_outlier_filter Overview&#xff08;Class&#xff09;RadiusSearch2dfilter&#xff08;Class Constructor&#xff09;RadiusSearch2dfilter::RadiusSearch2dfilter&#xff08;mFunc&#xff09;RadiusSearc…

2月科研——arcgis计算植被差异

ArcGIS中&#xff0c;设置高于或低于某个值的像元为 -9999&#xff0c;然后将这些地方设为空——目的&#xff1a;去除异常值和黑色背景值 Con(("T_std ano7.tif" > 2) | ("T_std ano7.tif" < - 2), - 9999,"T_std ano7.tif") SetNull(&…

python基础语法 007 文件操作-1读取写入

1 文件操作 1.1 什么时候用文件操作&#xff1f; 打开文档写东西看东西拿文档做统计 在python 文档操作作用 存储数据读取数据 打开文件有什么用&#xff1f; 读取数据&#xff0c;写入数据不管什么数据都可以用open打开&#xff0c;如可复制一张图片 1.2 open() 读取,…

c++中的冒泡排序(Bubble Sort),插入排序(Insertion Sort)和选择排序(Selection Sort)

前言 hello大家好啊&#xff0c;这里是文宇&#xff0c;不是文字&#xff0c;是文宇哦。今天开始爆更 冒泡排序&#xff08;Bubble Sort&#xff09; 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;它属于比较排序算法的一种。冒泡排序的基本…

Java开发利器:深入浅出`java.util.Objects`

在Java开发过程中&#xff0c;java.util.Objects作为一个不可或缺的工具类&#xff0c;为开发者提供了诸多实用方法&#xff0c;用以简化对象操作、提升代码健壮性和可读性。本文将详尽介绍Objects类中的几个核心方法及其应用场景&#xff0c;帮助你更好地驾驭Java编程。 前言…

C++顶层const和底层const

《Cprimer》中写到&#xff1a;顶层const表示指针本身是个常量&#xff0c;底层const表示指针所指的对象是一个常量。 顶层const可以表示任意的对象是常量&#xff0c;这一点对任何数据类型都适用。底层const则与指针和引用等复合类型的基本类型部分有关&#xff0c;比较特殊的…

【嵌入式DIY实例-ESP8266篇】-LCD ST7789显示BMP280传感器数据

LCD ST7789显示BMP280传感器数据 文章目录 LCD ST7789显示BMP280传感器数据1、硬件准备与接线2、代码实现在本文中,将介绍如何通过 ESP8266 NodeMCU 开发板 (ESP-12E) 与 ST7789 TFT 显示屏连接。 在此项目中,我们将了解如何将 ESP8266 NodeMCU 板与 Bosch Sensortec 的 BMP2…

OpenAI发布迷你AI模型GPT-4o mini

本心、输入输出、结果 文章目录 OpenAI发布迷你AI模型GPT-4o mini前言OpenAI发布迷你AI模型GPT-4o mini英伟达联合发布 Mistral-NeMo AI 模型:120 亿参数、上下文窗口 12.8 万个 tokenOpenAI发布迷你AI模型GPT-4o mini 编辑 | 简简单单 Online zuozuo 地址 | https://blog.csd…

多视角多对学习方式的相关论文解读

目标解决问题&#xff1a; 1&#xff1b;地理分布的空气质量和天气站是异质的空间对象&#xff0c;它们监测的条件不同。现有的方法通常设计用于同质的空间对象&#xff0c;不适合联合预测。 2&#xff1b;观察误差累积&#xff1a;监测站的观测数据往往因传感器误差和环境干扰…