MySQL中rank函数的使用
题目来源:牛客sql练习题 对所有员工的薪水按照salary降序进行1-N的排名_牛客题霸_牛客网
题目描述:
有一个薪水表salaries简况如下:
对所有员工的薪水按照salary降序进行1-N的排名,要求相同salary并列,且按照emp_no升序排列:
分析:
这道题目考察的是SQL窗口函数(OLAP函数)中用于排序的专用窗口函数用法
下面介绍三种用于进行排序的专用窗口函数:
1、RANK()
在计算排序时,若存在相同位次,会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,4······
2、DENSE_RANK()
这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,2······
3、ROW_NUMBER()
这个函数赋予唯一的连续位次。
例如,有3条排在第1位时,排序为:1,2,3,4······
窗口函数用法:
<窗口函数> OVER ( [PARTITION BY <列清单> ]
ORDER BY <排序用列清单> )
*其中[ ]中的内容可以忽略
解答:
select emp_no, salary, dense_rank() over(order by salary desc) as t_rank
from salaries
order by t_rank asc, emp_no asc;
MySQL中rank函数的使用相关推荐
- mysql替换sql中rank函数_MySQL sql Rank()函数实现
一字符串类 Ø Concat函数:连接字符串 Ø Instr函数:返回字符串在某一个字段的内容中的位置, 没有找到字符串返回0,否则返回位置(从1开始) Ø 字符串大小写转换[upper().u ...
- Mysql中rank类的函数用法
Mysql中rank类的函数用法 rank() over 作用:查出指定条件后的进行排名,条件相同排名相同,排名间断不连续. 说明:例如学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占 ...
- php excel 函数,php实现excel中rank函数功能的方法
php实现excel中rank函数功能的方法 发布于 2015-10-28 18:54:25 | 77 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...
- mysql中concat函数的使用相关总结
concat(str1,str2) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22','33') ...
- Oracle中concat与||区别(以及与mysql中concat函数区别)
Oracle中concat使用以及与||区别 CONCAT只能连接两个字符串 The syntax for the concat function is: concat( string1, strin ...
- mysql中合并函数_MYSQL分组合并函数
MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...
- mysql中find_in_set()函数的使用及in()用法详解
From: http://www.manongjc.com/article/2710.html MySQL手册中find_in_set函数的语法解释: FIND_IN_SET(str,strlist) ...
- MySQL中concat函数(连接字符串)
MySQL中concat函数(连接字符串) MySQL中concat函数 使用方法: concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 ...
- mysql必会语法_sql语法:sql必读必会(二)mysql中的函数大全
AVG 函数 作用:AVG 函数返回数值列的平均值.NULL 值不包括在计算中 语法:SELECT AVG(列) FROM 表 求id平均值(实在没字段了,就是意思意思) id大于平均值的记录 COU ...
- MySQL中时间函数NOW()和SYSDATE()的区别
mysql中日期函数还是比较常用的.主要有NOW()和SYSDATE()两种,虽然都表示当前时间,但使用上有一点点区别. NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间. ...
最新文章
- MySQL的安装过程
- 15 位学神争霸!2019 清华本科生特奖答辩入围名单公布
- mysql中取出的时间日期多个.0
- 15.PHP_PHP与Ajax
- lora无线模块基于LoRaWAN网关技术在国家物联网应用
- Java笔记05-Collection、泛型、迭代器
- TNFBA治疗极早期中轴型nrSpA随机双盲试验后长达6年的放射学随访
- java 反射 泛型 构造函数_Java复习——反射和泛型的复习
- 原生node写一个静态资源服务器
- python接口自动化(三十一)--html测试报告通过邮件发出去——下(详解)
- TeeChart Pro VCL/FMX教程(六):使用系列(二)
- CentOS 7 根目录分区扩容
- 李开复给大学生的第7封信:21世纪最需要的7种人才
- 用清除cookies的方式实现防止重复投票,值得收藏学习!
- 微分几何 Class 2 欧氏空间
- python数字转换拼音程序_课内资源 - 基于Python的拼音汉字转换程序
- JAVA 静态方法和成员方法、静态方法的调用
- d3.js 旋转图形_知识地图丨小学数学要学习哪些几何图形?
- STM32+MLX90614红外测温
- Csharp中的关键字示例及代码演示之类
热门文章
- (法)H.嘉当(H.Cartan)、塞尔(J.P.Serre)、施瓦茨(L.Schwartz)等[著],刘应明、胡师度[译]:代数结构与拓扑结构
- 【LGP5108】仰望半月的夜空
- 公历转农历C语言课程设计,(只为学习)公历转农历代码以完成,请高手在此代码基础上写出个农历转公历的代码出来...
- 【转】精益看板核心实践大作战
- Monkey log 分析
- python中的snip用法_--snip--总是报错,找了好久不知道问题出在哪,望大佬求解(python-pygame)...
- 桌面虚拟化技术介绍和对比
- The way的用法
- 网易云阅读页面html代码,网易云阅读网页端资讯阅读器设计总结
- Problem : 闰年闰月