-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNthHighestSalary.sql
74 lines (72 loc) · 1.78 KB
/
NthHighestSalary.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
-- Source : https://leetcode.com/problems/nth-highest-salary
-- Author : Hamza Mogni
-- Date : 2022-06-15
/*****************************************************************************************************
*
* Table: Employee
*
* +-------------+------+
* | Column Name | Type |
* +-------------+------+
* | id | int |
* | salary | int |
* +-------------+------+
* id is the primary key column for this table.
* Each row of this table contains information about the salary of an employee.
*
* Write an SQL query to report the n^th highest salary from the Employee table. If there is no n^th
* highest salary, the query should report null.
*
* The query result format is in the following example.
*
* Example 1:
*
* Input:
* Employee table:
* +----+--------+
* | id | salary |
* +----+--------+
* | 1 | 100 |
* | 2 | 200 |
* | 3 | 300 |
* +----+--------+
* n = 2
* Output:
* +------------------------+
* | getNthHighestSalary(2) |
* +------------------------+
* | 200 |
* +------------------------+
*
* Example 2:
*
* Input:
* Employee table:
* +----+--------+
* | id | salary |
* +----+--------+
* | 1 | 100 |
* +----+--------+
* n = 2
* Output:
* +------------------------+
* | getNthHighestSalary(2) |
* +------------------------+
* | null |
* +------------------------+
******************************************************************************************************/
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE shift INT;
SET shift=N-1;
RETURN (
# Write your MySQL query statement below.
SELECT DISTINCT
Salary
FROM
Employee
ORDER BY
Salary DESC
LIMIT shift, 1
);
END