LeetCode笔记:176. Second Highest Salary
2017-08-09 10:19
211 查看
Write a SQL query to get the second highest salary from the Employee table.
For example, given the above Employee table, the query should return 200 as the second highest salary. If there is no second highest salary, then the query should return null.
因此,将查询结果倒序
所以其中一种办法是使用
——MYSQL 什么时候返回空,什么时候返回NULL,为什么这两条语句返回结果不一样? - 回答作者: Ivony https://zhihu.com/question/40540817/answer/87069604
+----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+
For example, given the above Employee table, the query should return 200 as the second highest salary. If there is no second highest salary, then the query should return null.
+---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+
思考:
这里需要注意的一个条件是,当查询输出无结果时,需要返回null。
因此,将查询结果倒序
DESC排序后使用
limit 1,1进行筛选的方法不可行,因为limit查询无结果时,返回为空。
所以其中一种办法是使用
max(expr)函数,当无结果时,会返回
null。
SELECT max(Salary) AS SecondHighestSalary FROM Employee WHERE Salary < ( SELECT max(Salary) AS SecondHighestSalary FROM EMPLOYEE)
拓展:
比较聚合函数如max,min对于空数据集返回NULL,统计聚合函数如count,sum通常返回0。——MYSQL 什么时候返回空,什么时候返回NULL,为什么这两条语句返回结果不一样? - 回答作者: Ivony https://zhihu.com/question/40540817/answer/87069604
相关文章推荐
- leetcode 176. Second Highest Salary
- leetcode176---Second Highest Salary
- 176. Second Highest Salary
- Leetcode176. Second Highest Salary
- 176. Second Highest Salary
- LeetCode 176. Second Highest Salary
- leetcode 176. Second Highest Salary
- 176. Second Highest Salary
- leetcode 176. Second Highest Salary
- leetcode 176. Second Highest Salary
- leecode-database 176.Second Highest Salary
- leetcode 176. Second Highest Salary
- Leetcode 176 Second Highest Salary
- 176. Second Highest Salary
- 176. Second Highest Salary
- 【leetcode Database】176. Second Highest Salary
- 176. Second Highest Salary
- leetcode 176. Second Highest Salary
- LeetCode Database #176 Second Highest Salary
- 176. Second Highest Salary