SELECT e.emp_no, salary, last_name, first_name
FROM employees e
JOIN salaries s
ON e.emp_no = s.emp_no
WHERE salary = (
SELECT MAX(salary)
FROM salaries
WHERE salary <(
SELECT MAX(salary)
FROM salaries
)
)
因为不能使用ORDER BY ,所以会想到无法使用RANK()OVER()等排序方式,只能使用MAX给出前几名的值,又因为第二名是除去第一名的最大值,所以只需想办法将第一名排除掉即可



京公网安备 11010502036488号