MySQL中rank函数的使用
MySQL中rank函数的使⽤题⽬来源:⽜客sql练习题
题⽬描述:
有⼀个薪⽔表salaries简况如下:
面试英文自我介绍范文
对所有员⼯的薪⽔按照salary降序进⾏1-N的排名,要求相同salary并列,且按照emp_no升序排列:
春节的祝福语大全
分析:
这道题⽬考察的是SQL窗⼝函数(OLAP函数)中⽤于排序的专⽤窗⼝函数⽤法
下⾯介绍三种⽤于进⾏排序的专⽤窗⼝函数:
卡罗拉1.2t
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
三国英传7攻略order by t_rank asc, emp_no asc;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。