Oracle以最高薪水找到经理薪水和他/她的员工

时间:2017-06-22 15:48:15

标签: sql oracle top-n

我有写作的任务,但很久以后想了很久,我不能解决它。我必须找到经理薪水和他/她的雇员薪水最高。此外,我必须包括员工的姓氏,以及他/她的工资百分比是多少。我正在研究Oracle默认的HR数据库。

提前致谢

1 个答案:

答案 0 :(得分:0)

create table employees
( emp_id varchar(20),
 salary numeric,
 manager_id varchar(20)
 )    
;

select te.manager_id, tm.salary manager_salary
  , te.emp_id highest_paid_employee, te.salary employee_salary 
from 
(
  select e.*, row_number() over(partition by manager_id order by salary desc) highest_rank 
  from employees e
) te
, (select distinct emp_id manager_id, salary from employees) tm
where highest_rank=1
  and tm.manager_id=te.manager_id
;