题目2:MySQL----------Second Highest Salary

来源:互联网 发布:网络创世纪手机版安卓 编辑:程序博客网 时间:2024/05/16 13:58

Write a SQL query to get the second highest salary from the Employee table.

+----+--------+| Id | Salary |+----+--------+| 1  | 100    || 2  | 200    || 3  | 300    |+----+--------+

For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.

题目答案:
# Write your MySQL query statement belowSELECT max(Salary) FROM Employee WHERE Salary < (SELECT max(Salary) FROM Employee)

题目解析:

SELECT max(Salary) FROM Employee WHERE Salary < (SELECT max(Salary) FROM Employee)

Using max() will return a NULL if the value doesn't exist. So there is no need to UNION a NULL. Of course, if the second highest value is guaranteed to exist, using LIMIT 1,1 will be the best answer.







0 0
原创粉丝点击