ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[176\. 第二高的薪水](https://leetcode-cn.com/problems/second-highest-salary/) === ![](https://box.kancloud.cn/85c480fbb8eb873e84f52cac508765e8_381x458.png) 发奋图强!!!! ### 方法一 ``` SELECT DISTINCT Salary as SecondHighestSalary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET 1 ``` salary DESC LIMIT 1 OFFSET 1 but 如果只有一条数据数据了??? ![](https://box.kancloud.cn/2e5af30000f64f55fb9c03429d495041_1008x454.png) gg ``` SELECT ( SELECT DISTINCT Salary as SecondHighestSalary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET 1 ) AS SecondHighestSalary ``` ### 方法二:使用`IFNULL`和`LIMIT`子句 ``` SELECT IFNULL( (SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET 1), NULL) AS SecondHighestSalary ``` IFNULL的作用是什么?下面一个简单的sql和结果说明,如果IFNULL(a,b),a接收的值为null,则返回b,否则返回a;