SQL Запрос с использованием MYSQL - PullRequest
1 голос
/ 15 января 2020

Напишите запрос, чтобы отобразить Department_ID и максимальную зарплату всех сотрудников, для которых Department_ID больше 10 и максимальная зарплата для каждого отдела превышает 20000. Отображать данные в порядке убывания по отношению к Department_ID.

select Department_ID, max(Salary)
from employees
where Department_ID > 10
having max(Salary) >20000
order by Department_ID DESC;

Это мой запрос, но он отображает только один результат. Поскольку вопрос задается для каждого отдела, я уверен, что мой запрос неверен.

Ответы [ 2 ]

3 голосов
/ 15 января 2020

Вы пропустили группу по

   select Department_ID, max(Salary)
    from employees
    where Department_ID > 10
Group by Department_ID
    having max(Salary) >20000
    order by Department_ID DESC;
3 голосов
/ 15 января 2020

Вам нужно предложение group by, чтобы сделать ваш запрос действительным запросом агрегации (во многих СУБД вы получите синтаксическую ошибку):

select department_id, max(salary) max_salary
from employees
where department_id > 10
group by department_id
having max(salary) > 20000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...