- 要求返回列表,所以最外层 又包了一层 SELECT
- 得到第 n 行,关键词 LIMIT 1 OFFSET (n-1),或者简写成 LIMIT (n-1), 1; 注意: 顺序相反
- SELECT DISTINCT 避免 duplicates.
- ORDER BY col_name DESC 降序排列。
# Write your MySQL query statement below
-- The below one does not give an empty list when there is 1 row.
-- SELECT salary SecondHighestSalary FROM Employee ORDER BY salary DESC LIMIT 1,1;
-- DINSTINCT is needed to deal with duplicates.
SELECT
(SELECT DISTINCT
salary
FROM Employee
ORDER BY salary
DESC LIMIT 1 OFFSET 1) AS SecondHighestSalary
;
之前的写法很 hacky,不generic
# Write your MySQL query statement below
SELECT max(Salary) as SecondHighestSalary
FROM Employee
WHERE Salary < (SELECT max(Salary) FROM Employee)