Я знаю, как получить вторую таблицу базы данных о зарплате, используя
SELECT MAX(Salary) From Employee WHERE Salary < ( SELECT Max(Salary) FROM Employee);
Но я хочу получить все записи сотрудников, чья заработная плата является второй по величине зарплатой в таблицах.
Select * from employee where salary=(
SELECT MAX(Salary) From Employee WHERE Salary < ( SELECT Max(Salary) FROM Employee));
Просто получите всех сотрудников, чья зарплата равна второй самой высокой зарплате, которую вы получили:
set @second_top_salary=(
SELECT MAX(salary) FROM Employee
WHERE salary<( SELECT Max(salary) FROM employee)
);
SELECT * FROM employee WHERE salary=@second_top_salary;
Использование LIMIT:
SELECT Salary FROM (SELECT Salary FROM Employee ORDER BY Salary DESC LIMIT 2) AS Emp ORDER BY Salary LIMIT 1
попробуй это. он должен работать.
выберите * from Employee where Salary in (SELECT MAX (Зарплата) От сотрудника WHERE Зарплата <(SELECT Max (Зарплата) от сотрудника));