[LeetCode] 177. Nth Highest Salary

Problem

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

IdSalary
1100
2200
3300

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

Solution

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
  SET N=N-1;
  RETURN (
      SELECT DISTINCT Salary
      FROM Employee
      ORDER BY Salary DESC
      LIMIT 1 OFFSET N
  );
END
    原文作者:linspiration
    原文地址: https://segmentfault.com/a/1190000017514565
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞