题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
http://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
WITH b AS ( SELECT MAX(salary) bq FROM salaries s, (SELECT MAX(salary) AS aq FROM salaries)a WHERE s.salary != aq) SELECT e.emp_no, salary, last_name, first_name FROM employees e LEFT JOIN salaries s ON s.emp_no = e.emp_no,b WHERE salary = b.bq;我觉得这个题目有更简单的方法,我还没想到,
目前的方式就是首先查询一下薪水最多的,使用max函数,这个的方式好处就是防止有薪水一样的情况
然后再次查询新水表,反选刚刚查出的最高薪资,薪水最高的就不在表中了,在max一下薪水就是除去最高薪的第二高薪