Я использую MySQL версию 8.0 и po pSQL в качестве редактора.
Таблица:
create table account (no int, salary int);
insert into account values
(901,25000),
(902,30000),
(903,21000),
(904,40000),
(905,27000);
Теперь я не хочу получать зарплату человеку с самой высокой зарплатой. Самая высокая зарплата - 40000, а соответствующее нет - 904. Но этот запрос дает мне другой вывод.
-- no and salary of max salary
select no, max(salary)
from account ;
Вывод: нет максимальной (зарплата) 901 40000
Это печать Сначала нет и максимальная зарплата. т.е. данные разных строк показываются в одной строке. Как это исправить ???
Тот же тип проблемы для моего следующего запроса.
-- no and salary of second highest salary.
select no, max(salary)
from account
where salary not in
(select max(salary) from account);
Вывод: нет макс (зарплата) 901 30000
В то время как ожидается = 902 30000.
Я искал переполнение стека для поиска проблемы, когда данные разных строк показываются в одной, но не получил никакой помощи.
Заранее благодарю.