题目链接:点击打开链接
题目大意:略。
解题思路:解决方案 (1):子查询 + 分页思想;解决方案 (2):IFNULL 函数;解决方案 (3):骚操作~
SQL查询语句中的 limit 与 offset 的区别
- limit y 分句表示: 读取 y 条数据
- limit x, y 分句表示: 跳过 x 条数据,读取 y 条数据
- limit y offset x 分句表示: 跳过 x 条数据,读取 y 条数据
- limit n 等价于 limit 0,n
AC 代码
-- 解决方案 (1)
SELECT (SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1,1)
AS SecondHighestSalary
-- 解决方案 (2)
SELECT
IFNULL((SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1,1), NULL)
AS SecondHighestSalary
-- 解决方案 (3)
SELECT MAX(Salary) SecondHighestSalary
FROM Employee
WHERE Salary <> (SELECT MAX(Salary) FROM Employee)