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 Name | Type |
|---|---|
| id | int |
| salary | int |
idis 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:
Employeetable:
| id | salary |
|---|---|
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
n = 2
- Output:
| getNthHighestSalary(2) |
|---|
| 200 |
Example 2:
- Input:
Employeetable:
| id | salary |
|---|---|
| 1 | 100 |
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/