oracle查询找到关于jobrole的最大薪水

时间:2018-06-08 12:37:48

标签: sql oracle oracle11g

我有以下表格

Employee24(Employeeid, firstname, jobroles)
Salary25(SalaryId, Employeeid, BasicSal, Allowences)

我想找到关于salary(BasicSal + Allowences)

的最高jobroles的员工
  select e.firstname, e.lastname, 
   s.HighestSal, e.jobroles
 from Employee24 e inner join 
 (select employeeid, max(basicsal) as HighestSal
  from salary25 
  group by jobrole
 ) s 

1 个答案:

答案 0 :(得分:0)

您可以使用keep功能 - Oracle中非常强大的方法:

select e.jobrole, max(BasicSal + Allowances) as max_salary,
       max(e.EmployeeId) keep (dense_rank first order by BasicSal + Allowances desc) as employee_with_max
from salary25 s join
     employee25 e
     on s.Employeeid = e.Employeeid
group by e.jobrole;
相关问题