如何显示每个部门的department_id,last_name和最低工资?

时间:2016-04-29 09:03:07

标签: sql group-by subquery

SELECT department_id, last_name, min(salary)
FROM employees
GROUP BY department_id, last_name
HAVING min(salary) < 5000;

上面的查询不会给我每个部门的最低工资......而是我得到多行返回 我如何得到单一的结果,即每个部门的最低工资的人

此外,我需要格式化工资,使其显示为$ 2,500 ...千位分隔符和开头一美元

1 个答案:

答案 0 :(得分:1)

有一个子查询来返回每个部门的最低工资。加入那个结果。

SELECT e1.department_id, e1.last_name, e1.salary
from employees e1
join (select department_id, min(salary) salary
      from employees
      group by department_id) e2
  on e1.department_id = e1.department_id and e1.salary = e2.salary
where e1.salary < 5000

如果来自同一部门的两名员工的最低工资相同,则返回两名员工。