MySQL 排名函数.md_mdrank-程序员宅基地

技术标签: mysql  数据库  

概述

MySQL 自带的排名的函数,主要有:

  • row_number()
  • rank()
  • dense_rank()
  • ntile()

测试数据

测试数据如下所示:

在这里插入图片描述

row_number() 函数

用法如下:

SELECT 
    row_number() OVER (ORDER BY Salary DESC) row_num,
    Salary
FROM
    Employee

查询结果如下:
在这里插入图片描述

注意,row_number() 函数在 Salary 相等的情况下,行号是递增的

rank() 函数

SELECT 
    rank() OVER (ORDER BY Salary DESC) row_num,
    Salary
FROM
    Employee

查询结果如下所示:
在这里插入图片描述

可以发现

  • Salary 相等的情况下,行号是相等的。
  • Salary 相等的一批数据的下一个 Salary 的行号不是连续的,比如说有两个 Salary 的行号都是 2,那么下个 Salary 的行号将会是 4

dense_rank() 函数

用法如下:

SELECT 
    dense_rank() OVER (ORDER BY Salary DESC) row_num,
    Salary
FROM
    Employee

查询结果如下所示:
在这里插入图片描述

注意,与 rank() 的区别为,Salary 相等的一批数据的下一个 Salary 的行号是连续的,比如说有两个 Salary 的行号都是 2,那么下个 Salary 的行号将会是 3

ntile() 函数

用法如下:

SELECT 
    ntile(3) OVER (ORDER BY Salary DESC) row_num,
    Salary
FROM
    Employee

查询结果如下所示:
在这里插入图片描述

ntile(int n) 函数,是把查询结果进行分组的函数,将查询结果分为 n

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qiongjingpang9161/article/details/120704803

智能推荐

oauth2源码解析/oauth/token干了些什么?-程序员宅基地

文章浏览阅读3.5k次。最近做了两个项目,基于各种原因,安全框架都是使用的Oauth2,之前对oauth2的了解也只是停留在使用的层面,知道有资源服务器,认证服务器,四种认证方式,但是对于其中的源码以及原因,没有深入的分析过,最近结合大师(程序员DD)的博客(http://blog.didispace.com/spr...),以及自己断点查看源码,对oauth的..._getaccesstoken(principal principal

软件工程:数据流图和结构图怎么画?_软件结构图怎么画-程序员宅基地

文章浏览阅读5.9w次,点赞325次,收藏773次。文章目录Step 1:根据软件的功能描述,绘制数据流图:Step 2:根据数据流图,分级绘制结构图:•边界划分:•第一级分解:•第二级分解:•精化减少耦合:Step 1:根据软件的功能描述,绘制数据流图:问题表述:假设的仪表板将完成下述功能:(1) 通过模数转换实现传感器和微处理机接口;(2) 在发光二极管面板上显示数据;(3) 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;(4) 指示加速或减速;(5) 超速警告:如果车速超过55英里/小时,则发出超速警告铃声。首先了_软件结构图怎么画

关于在java中使用类名当数据类型使用_java中以一个类做为数据类型的作用有哪些-程序员宅基地

文章浏览阅读930次,点赞4次,收藏4次。其实类名不是作为数据类型,只能说将这个类的对象作为返回值。意思就是说,这个方法的返回值不是普通的数据类型,而是一个类对象。这样做可以避免一个方法要返回N多的数据,比如说,你要同一个方法中得到name和age,但是java又不能返回多个值,除了可以使用一个字符串或者字符串数组存放外,我们可以定义一个Student对象,对象中包含name和age属性,这样就可以用这个对象把属性封装起来以及方法,一起返回。(借鉴作笔记)_java中以一个类做为数据类型的作用有哪些

linux 压缩固定大小,tar gz压缩文件为指定大小-程序员宅基地

文章浏览阅读2.5k次。tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出下面的参数-f是必须的-f: 使用档案名字,切记..._gzip 压缩指定大小

android Lottie详细使用_android lottie使用-程序员宅基地

文章浏览阅读1.3w次,点赞11次,收藏23次。Lottie是一个适用于Android、iOS、Web和React Native的移动库,用于解析使用Bodymovin导出为json的Adobe After Effects动画,并在移动设备上呈现它们!先了解下lottie加载主体类:LottieAnimationView扩展ImageView,是加载Lottie动画的默认和最简单的方法。 LottieDrawable与Lottie..._android lottie使用

npm安装Appium报错 Error: Request failed with status code 404,[npminstall:runscript:error] appium-android_appium:运行脚本时,报404的解决办法-程序员宅基地

文章浏览阅读2.7k次。npm安装appium报错:Error installing Chromedriver: Request failed with status code 404[16:16:30] Error: Request failed with status code 404] [email protected] › appium-chromedriver@^4.13.0 scripts.postinstall run "node install-npm.js" error: Erro_appium:运行脚本时,报404的解决办法

随便推点

与系统设计有关的报价-程序员宅基地

文章浏览阅读45次。在考虑计算机设计时,我想到了几句话。 这些不是专门针对计算机的,但我认为它们是适当的。 达到完美,不是在没有其他可添加的东西时,而是在没有其他东西可取的时候。 —法国作家安托万·圣艾修伯里(1900 – 1944) “简单比复杂难得多:您必须努力工作以使思路清晰,使其变得简单。 但这最终是值得的,因为一旦到达那里,就可以搬山。” 史蒂夫·乔布斯-[BusinessWeek,1998年...

html鼠标悬停事件 dw,dw制作鼠标放上去图片就显示鼠标离开图片就消失-程序员宅基地

文章浏览阅读4.8k次。今天小编就为大家介绍dw制作鼠标放上去图片就显示鼠标离开图片就消失的效果,操作方法很简单的,不会的朋友可以参考本文哦!操作步骤:1、新建“HTML文档”,在“布局”里找到“绘制层”,绘制一个方形层,填充颜色,并在里面输入文字“夏”,字体和颜色,大家自由设置;2、用“绘制层”再次绘制一个层,层编号设置为“夏”,宽:300px;高:200px;设置如图所示:3、在“夏”层里插入一张图片,大小和“夏”层..._dw如何设置鼠标停留效果

mysql 1136错误_mysql执行SQL语句时报错:[Err] 3 - Error writing file '/tmp/MYP0G1B8' (Errcode: 28 - No space le...-程序员宅基地

文章浏览阅读4.5k次。问题描述:今天一同事在mysql中执行SQL语句的时候,报了/tmp空间不足的问题,报错如下:[SQL] SELECT f.prov as 字段1, MAX( CASE f.flag_name WHEN ‘字段1‘ THEN f.num ELSE 0 END ) AS ‘字段1‘, MAX( CASE f.flag_name WHEN ‘店员量‘ THEN f.num ELSE 0 END ) A..._sql_13963_28' is full

java子类重写父类方法(两同两小一大原则)_子类父类两小一大-程序员宅基地

文章浏览阅读830次。参考资料:https://blog.csdn.net/zjkc050818/article/details/75300796_子类父类两小一大

10、矩阵中的路径——剑指offer——回溯法_剑指offer 回溯法-程序员宅基地

文章浏览阅读1.7k次。矩阵中的路径问题描述:判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中任意一格开始,每一步可以在矩阵中间向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 本方法思想:使用回溯法。代码中有num记录共有多少种情况,暂时还存在些许错误,之后会改正,但是是否存在路径的判断是正确的,代码中也有大量注释,能够完成判断路径是否存在,具体见..._剑指offer 回溯法

webpack配置loader(加载器),加载3D模型数据_webpack glbloader-程序员宅基地

文章浏览阅读2.9k次。在使用cesium结合vue脚手架做开发。发现在项目中引入3d模型时会报错,如下图:这是因为没有加载.gltf和.glb文件的loader导致的,需要在项目的build文件夹下修改webpack.base.conf.js。(路径’…/build/webpack.base.conf.js’)在url-loader中加入3d模型的格式,就可以通过import命令加载你的模型数据,如下图:..._webpack glbloader

推荐文章

热门文章

相关标签