题解 | 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。

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

全部评论

相关推荐

06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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