Skip to main content

177. Nth Highest Salary

Giới thiệu bài toán

Chi tiết: https://leetcode.com/problems/nth-highest-salary/

Table: Employee

Column NameType
idint
salaryint
  • id is the primary key (column with unique values) for this table.
  • Each row of this table contains information about the salary of an employee.
Yêu cầu

Write a solution to find the nth highest salary from the Employee table. If there is no nth highest salary, return null.

The result format is in the following example.

Example 1:

  • Input: Employee table:
idsalary
1100
2200
3300

n = 2

  • Output:
getNthHighestSalary(2)
200

Example 2:

  • Input: Employee table:
idsalary
1100

n = 2

  • Output:
getNthHighestSalary(2)
null

Giải quyết bài toán

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

Tham khảo: https://leetcode.com/submissions/detail/1038477455/