w3resource

PostgreSQL Subquery: Find the 4th minimum salary of all the salaries


16. Write a subquery to find the 4th minimum salary of all the salaries.

Sample Solution:

Code:

SELECT DISTINCT salary 
FROM employees e1 
WHERE 4 = (SELECT COUNT(DISTINCT salary) 
FROM employees  e2 
WHERE e1.salary >= e2.salary);

Sample table: employees


Output:

pg_exercises=# SELECT DISTINCT salary
pg_exercises-# FROM employees e1
pg_exercises-# WHERE 4 = (SELECT COUNT(DISTINCT salary)
pg_exercises(# FROM employees  e2
pg_exercises(# WHERE e1.salary >= e2.salary);
 salary
---------
 2500.00
(1 row)

Practice Online


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a subquery to find the 5th maximum salary of all salaries.
Next: Write a subquery to select last 10 records from a table.

What is the difficulty level of this exercise?



Share this Tutorial / Exercise on : Facebook and Twitter