题解 | dense_rank()

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

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

# 该题要获得t_rank列,应使用窗口函数
select emp_no, salary, dense_rank()over(order by salary desc)
from salaries
order by salary desc, emp_no asc;

rank() 与 dense_rank()的区别在于,rank() 会按照排序值相同的为一个序号,第二个不同排序值将显示所有行的递增值,而不是当前序号加1;dense_rank() 函数的第二个不同排序值,是对当前序号值加1。

注意这个区别才能每次选择合适的函数进行应用

全部评论

相关推荐

08-06 08:33
四川大学 Java
OPPO官方内推:卧槽!!!啥破公司啊!!!
投递OPPO等公司10个岗位
点赞 评论 收藏
分享
头像
07-26 14:05
门头沟学院 Java
欧贺桥:哈哈哈哈哈笑死我了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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