显示last_name,Dept_id,(max)薪水

时间:2013-10-01 20:58:50

标签: sql greatest-n-per-group

我正在使用iSQL * Plus。

我希望显示员工的(last_name,department_id,salary),他们在SQL语句的帮助下从各个部门获得最高薪水。

将表名视为emp

select department_id, max(salary)
from empl
group by department_id

这将返回department_id明智的最高薪水。

但现在我想显示那些在各自部门获得最高工资的员工的姓名。

2 个答案:

答案 0 :(得分:1)

WITH RCounter AS (
    SELECT department_id, last_Name, Salary,
           DENSE_RANK() OVER(PARTITION BY department_id ORDER BY Salary DESC) AS RowNumberCounter
        FROM <<tablename>>
)
SELECT department_id, last_Name, Salary
    FROM RCounter 
    WHERE RowNumberCounter = 1;

答案 1 :(得分:0)

这是我的查询。已经找到了相同的解决方案。

Qstn:

我希望显示员工的(last_name,department_id,salary),他们在SQL语句的帮助下从各个部门获得最高薪水。

溶液:

选择last_name,salary,department_id 来自员工e 薪水在哪里(从department_id = e.department_id的员工中选择max(薪水));

祝你好运, Kuntal Roy