我怎么会觉得使用MYSQL第二大的薪水[关闭]

问题描述 投票:-4回答:3

我怎么会去查询从我的Employee表中的所有员工的第二大薪水是多少?在MySQL

mysql sql
3个回答
-1
投票

试试这个,它应该必须工作。

SELECT name, salary
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees WHERE salary < (SELECT MAX(salary) FROM employees))

或者你可以试试这个为好。

/* looking for 2nd highest salary -- notice the '=2' */
SELECT name,salary FROM employees
WHERE salary = (SELECT DISTINCT(salary) FROM employees as e1
WHERE (SELECT COUNT(DISTINCT(salary))=2 FROM employees as e2
WHERE e1.salary <= e2.salary)) ORDER BY name

0
投票

薪金降序排列,然后用LIMIT

select *
from employees
order by salary desc
limit 1,1

第一装置1来跳过第一行,所述第二装置1返回一行。


-1
投票

你可以试试下面 -

  select name, max(salary) from employee where salary < (select max(salary) from employee)
    group by name;
© www.soinside.com 2019 - 2024. All rights reserved.