题解 | #获取每个部门中当前员工薪水最高的相关信息#

获取每个部门中当前员工薪水最高的相关信息

http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6

WITH sub AS (SELECT de.dept_no,de.emp_no,s.salary,
RANK() OVER (PARTITION BY de.dept_no ORDER BY s.salary DESC) AS maxSalary
FROM dept_emp de 
JOIN salaries s 
ON de.emp_no=s.emp_no)
SELECT sub.dept_no,sub.emp_no,sub.salary
FROM sub
WHERE sub.maxSalary=1

题目是:SQL12获取每个部门中当前员工薪水最高的相关信息。利用窗口函数根据部门分类将薪水从高到低排序并给予排名,由于薪水最高的人可能不止一个,因此用RANK()函数【RANK函数会给同样的值赋予同样的排名并跳过已经潜在使用了的数字,例如 1,1,3,4,4,6 这种排名形式】,最后选择位于第一名的人的信息。 `

全部评论

相关推荐

2025-12-26 10:52
河北传媒学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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