Как вернуть несколько столбцов при использовании group by в SQL - PullRequest
0 голосов
/ 03 августа 2011

Я хочу, чтобы имена сотрудников вместе с их зарплатой и отделом, которые имеют максимальную зарплату менее 50000. у меня есть следующее

SELECT department, MAX(salary) as Highest salary
FROM employees
GROUP BY department
HAVING MAX(salary) < 50000

Как мне вернуть имя сотрудника?

Ответы [ 2 ]

10 голосов
/ 03 августа 2011

Так близко ...

SELECT department, name, MAX(salary) as Highest salary
FROM employees
GROUP BY department, name
HAVING MAX(salary) < 50000

После обновления комментариев

SELECT name, department , salary
FROM employees e
   JOIN
  (
    SELECT department as dept, MAX(salary) as HighestSalary
    FROM employees
    GROUP BY department
  ) MaxE ON e.department = MaxE.dept AND e.salary = MaxE.HighestSalary
5 голосов
/ 03 августа 2011

Если я не правильно понимаю требование, просто добавьте сотрудника в выбор / группу с помощью?

SELECT employee, department, MAX(salary) as Highest salary
FROM employees
GROUP BY employee, department
HAVING MAX(salary) < 50000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...