Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
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 nth
highest salary from the Employee
table. If there is no nth
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
SET N = N-1;
RETURN (
SELECT DISTINCT(salary) from Employee order by salary DESC
LIMIT 1 OFFSET N
);
END
CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS
BEGIN
RETURN (
SELECT TOP 1
Salary
FROM (
SELECT
Salary,
DENSE_RANK() OVER (ORDER BY Salary DESC) rn
FROM
Employee E
) T
WHERE rn = @N
);
END
CREATE FUNCTION getNthHighestSalary(N IN NUMBER)
RETURN NUMBER IS
v_count number;
result NUMBER;
BEGIN
select count(*) into v_count from Employee;
IF N > v_count THEN
result := null;
ELSE
SELECT
max(salary) as salary /* i take max to avoid dups if there are a few the same results*/
INTO result
FROM (
SELECT
salary
,dense_rank() over(order by salary desc) as rn
FROM
Employee
) T
WHERE rn=N;
END IF;
RETURN result;
END;
In our experience, we suggest you solve this Nth Highest Salary LeetCode Solution and gain some new skills from Professionals completely free and we assure you will be worth it.
If you are stuck anywhere between any coding problem, just visit Queslers to get the Nth Highest Salary LeetCode Solution
I hope this Nth Highest Salary LeetCode Solution would be useful for you to learn something new from this problem. If it helped you then don’t forget to bookmark our site for more Coding Solutions.
This Problem is intended for audiences of all experiences who are interested in learning about Data Science in a business context; there are no prerequisites.
Keep Learning!
More Coding Solutions >>