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

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

全部评论

相关推荐

双尔:你就写拥有ai开发经历,熟练运用提示词,优化ai,提高ai回答质量
点赞 评论 收藏
分享
包行:平时怎么刷算法题的哇,字节的手撕听说都很难
字节跳动工作体验
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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