题解 | #获取当前薪水第二多的员工#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
重复是根本 (这道题不让使用ORDER BY,不然就很简单了) 不用ORDER BY,因此我的想法是先排除掉最大值,然后再从剩下的值里面找到最大值,则该最大值就是第二大值 SELECT employees.emp_no,salary,last_name,first_name FROM employees JOIN salaries ON salaries.emp_no = employees.emp_no WHERE salary = ( SELECT MAX(salary) FROM ( SELECT emp_no,salary FROM salaries WHERE salary - (SELECT MAX(salary) FROM salaries) != 0 ) salary_cha ) ORDER BY做法:SELECT employees.emp_no,salary,last_name,first_name FROM employees JOIN salaries ON salaries.emp_no = employees.emp_no WHERE salary = ( SELECT salary FROM salaries ORDER BY salary DESC LIMIT 1,1 )# SELECT salary # FROM salaries # ORDER BY salary DESC # LIMIT 1,1
#MySQL#