SQL_217

对所有员工的薪水按照salary降序进行1-N的排名

https://www.nowcoder.com/practice/b9068bfe5df74276bd015b9729eec4bf

方法一:

思路:

使用窗口函数 DENSE_RANK () OVER () 函数即可将实现薪水按照 salary 进行按照 1-N 的排名,相同 salary 并列。

补充:

RANK () OVER (ORDR BY < 列名>): 计算排名,如果存在相同位次的记录,则会跳过之后的位次。如,1,1,1,4

DENSE_RANK () OVER (ORDER BY < 列名>): 计算排序,即使存在相同为此的记录,也不会跳过之后的位次。如 1,1,1,2

ROW_NUMBER () OVER (ORDER BY < 列名>): 计算排序,赋予唯一的连续位次。如 1,2,3,4

代码:

select
    emp_no,
    salary,
    dense_rank() over (
        order by
            salary desc
    ) t_rank
from
    salaries
order by
    salary desc,
    emp_no asc

全部评论

相关推荐

点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-04 15:20
牛客61197583...:看到室友一个个没怎么学通过关系直接入职或者接到面试,真的很难受。八股不知道背了多少遍,hot100也刷了1.5遍了,但就是没有面试的机会,唉
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务