Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

SQL Rank Within Departments

EasySQL · PostgreSQL00:00
Practice interviewer
In session
5 left
00:00

Your question is SQL Rank Within Departments. Start with the requirements and the two tables on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Munich Reinsurance America needs a workforce report identifying employees whose salary is at rank 2 within their department. Write a PostgreSQL query that joins employee records to department names and ranks salaries independently for each department.

Requirements

  1. Use RANK() partitioned by department, ordering salaries from highest to lowest.
  2. Return every employee whose salary has rank 2. Employees tied at the second salary level must all be included.
  3. Exclude employees without a matching department and order the results by department name, salary descending, and employee name.

Schema

departments
ColumnTypeDescription
department_idPKINTUnique department identifier
department_nameVARCHAR(100)Department display name
employees
ColumnTypeDescription
employee_idPKINTUnique employee identifier
employee_nameVARCHAR(100)Employee full name
department_idINTReferenced department identifier
salaryNUMERIC(12,2)Annual salary in US dollars
Tablesemployeesdepartments
Your solutionPostgreSQL
You need to log in / sign up to run or submit.
Run a query to see results