题解 | #对所有员工的薪水按照salary进行按照1-N的排名#

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

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

还有一种写法,作用相当于是窗口函数 DENSE_RANK()

SELECT emp_no,salary,
CASE 
WHEN @prevRank = salary THEN @curRank 
WHEN @prevRank := salary THEN @curRank := @curRank + 1
END AS t_rank
FROM salaries, 
(SELECT @curRank :=0, @prevRank := NULL) r
ORDER BY salary desc,emp_no
全部评论

相关推荐

仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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