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

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

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

select 
    dept_no,
    emp_no,
    salary maxSalary
from (
    select 
        dept_no,
        d.emp_no emp_no,
        salary,
        rank() over(partition by dept_no order by salary desc) rk
    from dept_emp d join salaries s on d.emp_no=s.emp_no
) t1
where t1.rk=1;

使用over()开窗函数,在窗口内分组排序,然后通过过滤条件只取窗口内的第一行元素

全部评论

相关推荐

评论
3
收藏
分享

创作者周榜

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