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

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

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

自连接查询,与前面的题目一样的思路

SELECT
    s1.emp_no,
    s1.salary,
    COUNT(DISTINCT s2.salary) AS t_rank
FROM
    salaries s1 inner join
    salaries s2
on s2.salary >= s1.salary
WHERE
    s1.to_date = '9999-01-01'
AND s2.to_date = '9999-01-01'
GROUP BY
    s1.emp_no
ORDER BY
    s1.salary DESC,
    s1.emp_no ASC;

参考:https://blog.nowcoder.net/n/cf64ae022bd44ab8a5b100253bd8a734

全部评论
GROUP BY s1.emp_no, s1.salary
点赞 回复 分享
发布于 2023-09-19 16:02 北京

相关推荐

一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
找不到工作死了算了:没事的,雨英,hr肯主动告知结果已经超越大部分hr了
点赞 评论 收藏
分享
评论
3
1
分享
牛客网
牛客企业服务