ROW_NUMBER(), RANK(), DENSE_RANK() SQL排序函数图文详解
ROW_NUMBER(), RANK(), DENSE_RANK()

-
ROW_NUMBER(): 为结果集中的每一行分配唯一的连续编号。即使有重复的值,ROW_NUMBER() 也会为它们分配不同的序号。
SELECT column_name, ROW_NUMBER() OVER (ORDER BY column_name) AS row_num FROM table_name;

2. RANK(): 对结果集中的行进行排名。相同的值会得到相同的排名,但排名后会跳过相应的序号。例如,1、1、3,而不是1、1、2。
SELECT column_name, RANK() OVER (ORDER BY column_name) AS rank
FROM table_name;

3. DENSE_RANK(): 类似于 RANK(),但不会跳过排名。相同的值会得到相同的排名,接下来的排名不会有空缺。例如,1、1、2。
SELECT column_name, DENSE_RANK() OVER (ORDER BY column_name) AS dense_rank
FROM table_name;

| ID | Score |
|---|---|
| 1 | 95 |
| 2 | 80 |
| 3 | 95 |
| 4 | 85 |
| 5 | 80 |
SELECT ID, Score,ROW_NUMBER() OVER (ORDER BY Score DESC) AS RowNumber,RANK() OVER (ORDER BY Score DESC) AS Rank,DENSE_RANK() OVER (ORDER BY Score DESC) AS DenseRank
FROM Scores;
结果:
| ID | Score | RowNumber | Rank | DenseRank |
|---|---|---|---|---|
| 1 | 95 | 1 | 1 | 1 |
| 3 | 95 | 2 | 1 | 1 |
| 4 | 85 | 3 | 3 | 2 |
| 2 | 80 | 4 | 5 | 3 |
| 5 | 80 | 5 | 5 | 3 |
- ROW_NUMBER() 分配唯一的连续编号。
- RANK() 对相同的分数分配相同的排名,并跳过接下来的排名位置。
- DENSE_RANK() 对相同的分数分配相同的排名,不跳过排名位置。
相关文章:
ROW_NUMBER(), RANK(), DENSE_RANK() SQL排序函数图文详解
ROW_NUMBER(), RANK(), DENSE_RANK() ROW_NUMBER(): 为结果集中的每一行分配唯一的连续编号。即使有重复的值,ROW_NUMBER() 也会为它们分配不同的序号。 SELECT column_name, ROW_NUMBER() OVER (ORDER BY column_name) AS row_num FROM table_name;2. RANK(): 对结…...
Spring IoCDI(下)—DI的尾声
我们之前学习了控制反转IoC,接下来就开始学习依赖注入DI的细节。 依赖注入是一个过程,是指IoC容器在创建Bean时,去提供运行时所依赖的资源,而资源指的就是对象。我们使用 Autowired 注解,完成依赖注入的操作。简单来说…...
仕考网:考外省公务员可以调回本地吗?
一般情况下,公务员岗位是固定不可随意更换的,因为每个职位都对应特定的职责和要求。一旦考到外地的岗位,想要调回本地几乎是不可能的。因为这样的操作可能导致职位空缺,进而需要通过公共招聘流程来填补,而不是简单地从…...
《工厂模式在软件开发中的深度剖析与应用》
工厂模式 在软件开发的领域中,设计模式充当着解决常见问题的高效且可复用的策略角色。其中,工厂模式作为创建对象的重要设计模式,具有不可小觑的应用价值。接下来,我们将深入探讨简单工厂模式、工厂方法模式和抽象工厂模式。 一…...
双向通信之Websocket
介绍 Websocket是一种在单个TCP连接上进行全双工通信的协议。与传统的HTTP协议不同,websocket允许客户端与服务器之间的双向通信,可以在同一条连接上进行多次消息的快速传递。我之前在做一个线上刷题网站的时候,需要设计一个社区讨论模块&am…...
git学习使用碰到的问题1
本来在B站上看到的关于stash的使用时视频末尾讲到git stash drop 编号 会删除暂存记录 确实也是这么回事,但是末尾说到git stash pop 编号时up主说在恢复工作进度的时候我们可以直接删除掉这个工作记录可以直接使用 git stash pop stash{0} 使用完以后却出现了如上图…...
JavaScript初级——Math
一、Math 和其他的对象不同,它不是一个构造函数。它属于一个工具类,不用创建对象,里边封装了数学运算相关的属性和方法。 比如: Math.PI 表示圆周率。 二、Math.abs() —— 可以用来计算一个数的绝对值。 三…...
ffmpeg的基础命令
文章目录 ffmpeg/ffplay/ffprobe区别ffmpeg 的作用ffplay的作用ffprobe的作用 ffmpeg使用概述功能概述转码过程简单使用FFMPEG -i常用的 -i例子 ff***工具之间共享的选项ffmpeg主要选项ffmpeg提取音视频数据ffmpeg命令修改原有的视频格式ffmpeg命令裁剪和合并视频拼接视频的方式…...
二建机电工程实务试题内附答案
1.下列有色金属材料中,不属于铜合金的是()。 A.紫铜 B.青铜 C.黄铜 D.白铜【答案】A 2.用于完成介质间热量交换的换热设备是()。 A.分离器 B.反应器 C.冷凝器 D.分解锅【答案】C 3.工程测量的核心是()。 A.测量精度 B.设计要求 C.减少误差累积 D.检核【答案】D 4.吊…...
Redis的热key以及Big(大)key是什么?如何解决Redis的热key以及Big(大)key问题?
一、先讲讲什么是redis的热key问题 在Redis中,我们把访问频率高的Key,称为热Key。比如突然有几十万的请求去访问redis中某个特定的Key,那么这样会造成redis服务器短时间流量过于集中,很可能导致redis的服务器宕机。那么接下来对这…...
django学习入门系列之第九点《MySQL命令介绍一》
文章目录 MySQL命令数据库的管理(文件夹)查看现在已有的数据库(文件夹)创建数据库(文件夹)删除数据库(文件夹)进入数据库(文件夹)查看文件夹下所有的数据表&a…...
Mysql面试一
目录 一、事务的四大特性(ACID): 脏读 不可重复读 幻读 隔离性与隔离级别 数据库的三大范式 第一范式。确保数据表中的每个字段都是不可分割的最小单位,即原子性。这意味着表中的每一列都应代表一个独立的数据单元ÿ…...
模型优化之剪枝
文章目录 什么是神经网络剪枝剪枝的好处不同粒度的剪枝剪枝的分类非结构化剪枝结构化剪枝 哪些层的参数更容易被剪掉剪枝效果 什么是神经网络剪枝 神经网络剪枝 在训练期间删除连接密集张量将变得稀疏(用零填充)可以通过结构化块( n m nm nm&…...
JVM的组成
JVM 运行在操作系统之上 java二进制字节码文件的运行环境 JVM的组成部分 java代码在编写完成后编译成字节码文件通过类加载器 来到运行数据区,主要作用是加载字节码到内存 包含 方法区/元空间 堆 程序计数器,虚拟机栈,本地方法栈等等 随后来到执行引擎,主要作用是翻译字…...
快速上手 iOS Protocol Buffer
快速上手 iOS Protocol Buffer | 来自缤纷多彩的灰 本文主要介绍在 iOS 开发中如何快速上手使用 Protobuf。更多关于 Protobuf 的介绍和相关的功能 api,读者可自行查阅官网。 Protocol Buffer(简称 Protobuf)是一种由Google开发的语言中立、…...
每天一个数据分析题(四百八十)- 线性回归建模
关于线性回归建模,线性回归模型假设说法不正确的是? A. 因变量和自变量要有因果关系 B. 残差均值为0 C. 残差服从正态分布 D. 自变量不存在共线性 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专…...
电动汽车和混动汽车DC-DC转换器的创新设计与测试方法
汽车 DC-DC 转换器市场规模将达到187亿美元,年复合增长率为10%。 DC-DC 转换器是汽车的重要组成部分,它可以通过电压转换为各种车载系统供电,例如日益复杂的车载信息娱乐系统、使用驾驶辅助系统(ADAS)实现的增强安全功…...
OriginPro快速上手指南:数据可视化与分析的利器
目录 OriginLab - Origin and OriginPro - Data Analysis and Graphing Softwarehttps://www.originlab.com/编辑 一、安装与界面概览 安装 界面概览 二、基础操作 数据输入 创建图表 三、高级功能 数据分析 自动化与脚本 Origin 提供了几个小工具 四、技巧与提示…...
缓存学习
缓存基本概念 概念 对于缓存,最普遍的理解是能让打开某些页面速度更快的工具。从技术角度来看,其本质上是因为缓存是基于内存建立的,而内存的读写速度相比之于硬盘快了xx倍,因此用内存来代替硬盘作为读写的介质当然能大大提高访…...
亚世光电:消费电子年度表演
机圈风云再起,消费电子乘风而起? 今天我们来聊——亚世光电 最近,华为mate60突然降价,被大家怀疑是为新品上市做准备,算算时间,下半年的消费电子大战也即将拉开帷幕,而亚世光电所在的光电显示领…...
金融涉外业务赋能,守护跨境金融安全
随着跨境金融业务的快速发展,银行、保险等金融机构的涉外业务日益增多,外籍客户开户、跨境转账、保险投保等业务,都需要进行严格的证件核验与身份确认。传统的人工核验模式,不仅效率低下,还难以应对复杂的证件伪造手段…...
数字IC设计八股:面试题合集
锁存器的结构-DFF的结构-建立保持时间-亚稳态-STA-CDC。 亚稳态的成因,危害,解决方法。 建立保持时间的计算,违例的Fix,流片前和流片后。还有复位的Recovery Removal time。 CDC的解决方法。 低功耗常见设计方法,动态-静态功耗计算和分析。例如两种情况对比功耗大小。…...
SmartDock:让Android设备拥有桌面级生产力的智能启动器
SmartDock:让Android设备拥有桌面级生产力的智能启动器 【免费下载链接】smartdock A user-friendly desktop mode launcher that offers a modern and customizable user interface 项目地址: https://gitcode.com/gh_mirrors/smar/smartdock 你是否曾经想过…...
从“上管掉电”到稳定驱动:手把手教你计算EG2104自举电容的容值与选型(附PWM占空比影响分析)
从“上管掉电”到稳定驱动:手把手教你计算EG2104自举电容的容值与选型(附PWM占空比影响分析) 在高压半桥驱动电路设计中,自举电容的选型往往成为工程师最易忽视却最关键的环节。EG2104作为一款经典的高低压侧驱动芯片,…...
拆个汽车配件里的压电陶瓷片,用示波器和面包板实测它的‘发电’与‘震动’能力
从废弃汽车配件到电子实验神器:压电陶瓷片的深度拆解与实战应用 引言:压电陶瓷的奇妙世界 在电子爱好者的眼中,垃圾堆可能是最有趣的"宝藏库"。那些被丢弃的汽车配件、旧家电和电子设备中,往往藏着令人惊喜的元器件。其…...
为开发者工具注入情感分析能力:开源库ai-devtools-sentiment实战指南
1. 项目概述:一个为开发者工具注入情感分析能力的开源库最近在折腾一些开发者工具,比如代码审查机器人、文档生成器或者IDE插件,我总感觉它们冷冰冰的。它们能告诉你代码有语法错误,能提示你某个API已废弃,但它们无法感…...
LOCAL_SENSITIVE_PATTERNS:不经过大模型的本地正则补强:开源免费的WPS AI 软件 察元AI文档助手
LOCAL_SENSITIVE_PATTERNS:不经过大模型的本地正则补强 摘要 本文围绕标题所述主题,结合本仓库当前源码行进行说明。仅供技术理解与内部培训,不构成定密、法务或密码测评结论。文中代码块均摘自本地仓库对应路径与行号。 正文 0. 结论先行 结论先行:保密检查由内置助手…...
基于加速度计的体感音乐控制器:用MakeCode与Circuit Playground Express实现交互式乐器
1. 项目概述:当硬件编程遇见音乐创作 如果你对嵌入式开发、物理计算或者音乐技术感兴趣,但又觉得从零开始门槛太高,那么这个项目可能就是为你量身定做的。今天我们来聊聊如何用一块巴掌大的开发板——Adafruit的Circuit Playground Express&a…...
NotebookLM概念关联分析终极对照表,覆盖12类典型文档结构,99.2%的关联断裂问题可秒级定位
更多请点击: https://intelliparadigm.com 第一章:NotebookLM概念关联分析 NotebookLM 是 Google 推出的基于用户自有文档构建可信 AI 助手的实验性工具,其核心能力在于对上传 PDF、TXT 等文本进行语义理解与跨文档概念链接。它并非通用大模…...
企业智能体如何高效快速部署落地,这N个细节需要注意
随着企业级智能体技术的日趋成熟,越来越多企业将其作为数字化转型的重要抓手,期望通过智能体提升业务效率、降低运营成本。但现实中,多数企业陷入“部署慢、落地难、效果差”的困境:有的耗时数月仍无法正常上线,有的上…...
