Nth Highest Salary
来源:程序员人生 发布时间:2015-06-01 08:29:28 阅读次数:3606次
Write a SQL query to get the nth highest salary from the Employee
table.
+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
For example, given the above Employee table, the nth highest salary where n = 2 is 200
.
If there is no nth highest salary, then the query should return null
.
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
declare M int;
set M=N⑴;
RETURN (
# Write your MySQL query statement below.
#select distinct salary from Employee order by salary desc limit n,1
SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT M, 1
);
END
和
Second Highest
Salary思路1样,但是在这里考察函数的编写。
注意:
函数里,不能定义n这样的变量,其次在select语句里不能使用limit N⑴,1这样的语句
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠