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-1; 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思路一样,但是在这里考察函数的编写。
注意:
函数里,不能定义n这样的变量,其次在select语句里不能使用limit N-1,1这样的语句
时间: 2024-10-08 20:30:16