排名函数rank()、dense_rank()、row_number()的比较

1、问题描述

在写LeetCode178. 分数排名时,它的要求是输出“无间隔”的分数排名,于是本文主要记录rank()、row_number()、dense_rank()三个排名函数的差异。

1.1 表样式示例:score表
Id Score
编号 分数

2、rank()

2.1 作用

按照某字段的排序结果添加排名,但它是跳跃的、间断的排名,例如两个并列第一名后,下一个是第三名。

2.2 示例代码
SELECT Score,rank() over(ORDER BY Score desc) as 'Rank'
FROM score
2.3 查询结果

3、 row_number()

3.1 作用

它是将某字段按照顺序依次添加行号。

3.2 示例代码
SELECT Score,row_number() over(ORDER BY Score desc) as 'Rank'
FROM score
3.3 查询结果

4、dense_rank()

4.1 作用

dense 英语中指“稠密的、密集的”。dense_rank()是的排序数字是连续的、不间断。当有相同的分数时,它们的排名结果是并列的,例如,1,2,2,3。

4.2 示例代码
SELECT Score,dense_rank() over(ORDER BY Score desc) as 'Rank'
FROM score
4.3 查询结果

5、总结

函数名 关键词 作用 主要适用场景
rank() 间断、 不连续 按顺序输出排名结果,每当出现一个并列结果,则下一个排名数字向后递增一位。 在并列结果中,每个并列成绩都要占用一个名额的场景
dense_rank() 连续 按数学输出排名的名次。当出现并列结果时,下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。 当排序结果存在并列成绩时,需要下一个名次于上一个名次是连续整数的情况。
row_number() 行号 按顺序输出表的行号 需要输出表的行号时

mysql中的排名函数rank()、dense_rank()、row_number()相关推荐

  1. MYSQL实现排名函数RANK,DENSE_RANK和ROW_NUMBER

    文章目录 1. 排名分类 1.1 区别RANK,DENSE_RANK和ROW_NUMBER 1.2 分组排名 2. 准备数据 3. 不分组排名 3.1 连续排名 3.2 并列跳跃排名 3.3 并列连续 ...

  2. [转]oracle分析函数Rank, Dense_rank, row_number

    oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number)   目录 ==================== ...

  3. oracle 四分位函数,Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…

    Oracle 分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内 ...

  4. Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…

    Oracle分析函数--函数RANK,DENSE_RANK,FIRST,LAST- RANK 功能描述:根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置.组内的数据 ...

  5. rank,dense_rank,row_number使用和区别

    rank,dense_rank,row_number区别 一:语法(用法):      rank() over([partition by col1] order by col2)       den ...

  6. oracle的排名函数,oracle中的排名函数

    rank,dense_rank,row_number,以及分组排名partition rank:排名会出现并列第n名,它之后的会跳过空出的名次,例如:1,2,2,4 dense_rank:排名会出现并 ...

  7. Oracle排名函数(Rank)实例详解

    这篇文章主要介绍了Oracle排名函数(Rank)实例详解,需要的朋友可以参考下 --已知:两种排名方式(分区和不分区):使用和不使用partition --两种计算方式(连续,不连续),对应函数:d ...

  8. oracle迁移mysql视图中函数问题,mysql中to_char自定义函数。

    迁移到mysql中会遇到函数迁移问题,我们可以自定义函数 DELIMITER $$ CREATE FUNCTION new_data_report.to_char(Intnumber int) RET ...

  9. MySQL中的组函数(聚合函数)

    MySQL中的组函数(聚合函数) 组函数操作行集,给出每组的结果.组函数不象单行函数,组函数对行的集合进行操 作,对每组给出一个结果.这些集合可能是整个表或者是表分成的组. 一.组函数与单行函数的区别 ...

最新文章

  1. mysql 替换重复数据库,mysql关联修改,批量修改,数据同步
  2. 7-4 找到共同的选修课-hebust (10 分)
  3. pdfbox 按章节读取_2020年智慧树APP微生物与健康第五单元章节测试网课答案大学课后答案...
  4. Adobe air 安装软件解析
  5. C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...
  6. 【tool】将虚拟机从 VMware workstation 转到 vsphere
  7. greenplum 查询出来的数字加减日期_常用SQL系列之(八):列值累计、占比、平均值以及日期运算等
  8. 手机窃取PC信息,APT基础。
  9. HDU2087 剪花布条【KMP】
  10. Google位置服务模板
  11. 系统剪切板的使用UIPasteboard
  12. ubuntu 17.10 如何设置合盖不关机
  13. Gdiplus.dll下载+丢失修复
  14. excel导入mysql教程视频_excel数据导入SQL数据库的教程
  15. ps换脸教程:ps换脸教程步骤具体,怎样选择复制层
  16. 用MMdetection训练测试自己的voc数据集
  17. 元白:欲买桂花同载酒,终不似,少年游。
  18. 智慧社区的现状分析及发展前景
  19. 如何搭建适合自己团队的构建部署平台
  20. LCD(一) TFT液晶时序图

热门文章

  1. WP-Optimize插件定期自动清理和优化数据库
  2. 浏览器访问云服务器上图片的两种方法
  3. C—计算1到n的和(循环结构) SDUT
  4. 在express项目中使用formidable multiparty实现文件上传
  5. sqlite 0转换为bit_腾讯刀锋安全团队发现严重SQLite漏洞 收到谷歌苹果致谢
  6. 2022-2028全球及中国水蒸气传感器行业研究及十四五规划分析报告
  7. 题解 CF821C 【Okabe and Boxes】
  8. UBANK平台四大价值
  9. TCC88XX环境的搭建教程
  10. ZYNQ裸板:BRAM篇