SQL Notes: Nth Highest Salary

XuanKhanh Nguyen
Nothingaholic
Published in
2 min readSep 26, 2021

--

177. Nth Highest Salary

Problem

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 |
+------------------------+

Solution

Algorithm

We will use offset and limit in this problem.

offset will skip the first n-1 entries, and limit will help us to limit the number of records in the result.

--

--

Nothingaholic
Nothingaholic

Published in Nothingaholic

We love what we do. The moment when we realize we’ve learned something new makes every meeting or change worth it. Learn on!

XuanKhanh Nguyen
XuanKhanh Nguyen

Written by XuanKhanh Nguyen

Interests: Data Science, Machine Learning, AI, Stats, Python | Minimalist | A fan of odd things.