177.Nth_Highest_Salary

来源:互联网 发布:网络信用卡怎么申请 编辑:程序博客网 时间:2024/05/22 01:39

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.

+------------------------+| getNthHighestSalary(2) |+------------------------+| 200                    |+------------------------+

sql脚本

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INTBEGIN  SET N = N-1;  RETURN (      SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC LIMIT 1 OFFSET N  );END