Skip to main content

177. Nth Highest Salary

https://leetcode.com/problems/nth-highest-salary

Pandas

import pandas as pd


def nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame:
sorted_salary = employee['salary'] \
.sort_values(ascending=False) \
.drop_duplicates()

if N > len(sorted_salary):
return pd.DataFrame({f"getNthHIghestSalary({N})": [None]})

return pd.DataFrame({
f"getNthHighestSalary({N})": [sorted_salary.iloc[N-1]]
})

SQL

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