DenseRank 与 Rank 的区别

SQL窗口函数中的排名逻辑详解

引言

在SQL中,RANK()DENSE_RANK() 是两种常用的窗口函数,用于对数据进行排名。 虽然它们看起来相似,但在处理相同值(并列)时的行为有明显差异。 正确理解两者的区别,有助于在数据分析、报表生成等场景中做出合适的选择。

核心区别

函数 并列处理方式 是否跳过后续排名
RANK() 相同值获得相同排名 是(例如:1,1,3)
DENSE_RANK() 相同值获得相同排名 否(例如:1,1,2)

示例说明

假设有以下学生成绩表:

+----------+--------+
| 姓名     | 分数   |
+----------+--------+
| 张三     | 95     |
| 李四     | 95     |
| 王五     | 90     |
| 赵六     | 85     |
+----------+--------+

使用 RANK()

SELECT 姓名, 分数,
       RANK() OVER (ORDER BY 分数 DESC) AS 排名
FROM 成绩;

-- 结果:
-- 张三, 95, 1
-- 李四, 95, 1
-- 王五, 90, 3   ← 跳过了第2名
-- 赵六, 85, 4

使用 DENSE_RANK()

SELECT 姓名, 分数,
       DENSE_RANK() OVER (ORDER BY 分数 DESC) AS 排名
FROM 成绩;

-- 结果:
-- 张三, 95, 1
-- 李四, 95, 1
-- 王五, 90, 2   ← 未跳过
-- 赵六, 85, 3

适用场景

如何使用 DeepSeek 做 PPT-快速生成专业演示文稿指南 CarSpeedTest-专业汽车加速与极速测试平台 DeepSeek能出试卷吗?功能详解与使用指南 手机如何注册DeepSeek-完整图文教程 Python SDK 使用指南与开发教程-DeepSeek 官方资源 PCIe SSD是什么硬盘?全面解析PCIe固态硬盘原理与优势 Stopped At-探索暂停时刻的深度思考 如何下载 DeepSeek 手机版-完整指南 腾讯云宝 DeepSeek 专题页-智能AI搜索与内容生成技术指南 Kpop Deepfakes:Jennie 专题解析 Speedtest 软件使用指南与下载|网络测速工具专题 DeepSeek怎么不能拍照?原因解析与解决方法 Docker Compose 端口映射详解-配置与实战指南 DeepSeek数学试卷怎么导出-操作指南与技巧 DeepSeek App是免费的吗?全面解答与使用指南 Edsel-经典汽车传奇|历史、设计与文化 Deep Work电子书-专注力与高效工作的终极指南 豆包和DeepSeek看风水哪个更准确?AI风水对比分析 什么是DeepSeek?——DeepSeek详细介绍与技术解析 DeepNuke图片专题-AI图像生成与处理技术解析 Speedtest破解版下载-安全高速网络测速工具 DeepSeek模板链接打不开?常见问题与解决方案 Speek翻译-智能语音翻译工具专题 麒麟系统下 Docker Compose 权限不足问题解决指南 DeepSeek账号注册入口官网-快速注册使用AI大模型 Deep应用下载-官方最新版DeepSeek客户端免费下载 Spell音标详解-英语发音学习专题 SerDes 技术详解-高速串行通信核心原理与应用 DeepSeek能识别图片吗?功能详解与使用指南 Deepfake免费下载安装指南|安全使用与入门教程 DeepFakesApp官网下载-安全高效的人工智能换脸工具 DeepSeek火爆全球的原因-深度解析AI大模型成功之道 Speedtest 网络测速工具专题-快速、准确、免费 Speeds Up-加速你的工作与生活效率 stopped读音发音-英语单词发音指南 DeepSeek出题-智能AI出题工具专题页 为什么 DeepSeek 复制出来有 * 号?原因解析与解决方法 "Deep Dark Fantasy" 是谁说的?—— 深度解析出处与含义 Docker 与 Kubernetes(K8s)的关系详解|容器化技术专题 DeepSeek付费版在哪下载安装-完整指南 DeepSeek 和 豆包 哪个翻译更好?深度对比评测 speak的动词意思详解|英语词汇专题 DeepSeek的中文意思是什么?全面解析与使用指南 豆包好用还是DeepSeek好用?AI助手对比评测 send啥意思?详解“send”的中文含义与用法-78铁皮 DeepSeek提问三要素-提升AI问答效率的关键技巧 Stopped 翻译详解-含义、用法与例句|78铁皮 DeepSeek需要收费吗?免费使用指南与常见问题解答 DeepSeek 还是豆包好用?全面对比与使用建议 speak动词翻译详解|英语动词用法指南 Stopped to Do 和 Stop Doing 的区别详解|英语语法专题 如何打开 DeepSeek 提问话术-快速上手指南 Docker Swarm 入门与实战指南-容器编排技术详解 除了DeepSeek还有什么AI好用?主流AI工具推荐合集 sleep音标-英语单词发音与音标详解 SpeedItUp-极速优化工具专题页 Docker 容器技术专题-构建、交付与运行应用程序的开放平台 DeepSeek推出时间-DeepSeek大模型发展历程 Docker Compose 是什么?一站式详解|78铁皮 PCIe好还是SSD固态硬盘好?全面对比与选购指南 sed单词详解-Linux文本处理利器 DeepSeek啥意思?一文详解DeepSeek的含义与技术背景 sedes什么意思?全面解析与使用指南 Speak翻译-智能语音翻译工具专题 DeepSeek提供的网址如何打开-使用指南与常见问题 CSGO Peek 技巧详解-掌握预瞄与身位控制 怎么给 DeepSeek 发图片-使用指南与技巧 Kubernetes + Docker + DevOps 实践指南|一站式云原生开发专题 DeepSeek怎么下载-完整下载与安装指南 如何打开 DeepSeek-完整使用指南 豆包与DeepSeek有什么区别?全面对比分析 PCIe SSD 全面解析:性能、选购与使用指南 "Stop" and "Stopped" in English – Translation & Usage Guide DeepSeek只能到23年吗?全面解析训练数据截止时间-78铁皮 DeepSeek怎么分析图片-图像理解与AI视觉技术详解 Stopped By-探索暂停背后的意义与启示 DeepSeek提示词免费文案-高效AI写作助手资源站 send读音发音-英语单词“send”的正确发音与用法详解 DeepSeek厉害在哪里?核心技术优势全解析 DeepSeek教师版官网-专为教育打造的AI助手 人工智能 DeepSeek 技术与应用专题 SpeedCN安卓版下载-高速稳定网络加速工具 DeepSeek 和 豆包 哪个更厉害?全面对比分析 豆包AI和DeepSeek哪个好用?全面对比评测-78铁皮 MoveSpeed安卓下载-高速稳定运动记录App DeepSeek照片怎么处理-实用指南与技巧 DeepSeek爆火的原因|深度解析AI大模型走红背后的技术与趋势 Keep Up 中文-持续进步,不断前行 DeepSeek 付费与不付费功能区别详解|免费 vs 会员对比 EDS能谱全称-能量色散X射线光谱技术详解 DeepSeek是哪天爆火的?深度解析其走红时间线 DeepSeek官方下载-免费使用华为设备|DeepSeek专题页 stopped音标发音详解|英语单词音标学习专题 PCIe8 SSD是哪一家的?品牌与技术解析 DeepSleep人工智能-智能睡眠与AI健康解决方案 用 DeepSeek 出数学试卷-智能出题指南 Speedtest去广告版下载-高速网络测速工具无广告纯净版 在线测网速 SpeedTest-快速检测您的网络速度 DeepSeek如何拍照答题-使用指南与技巧 FPS游戏中“Peek”是什么意思?全面解析战术术语