Skip to content
SQLSimplified
Data AnalystQuestion 17 of 57

DENSE_RANK() vs RANK()

Problem

You generated a leaderboard using RANK(), but the CEO complained that after two people tied for 1st place, the next person was ranked 3rd instead of 2nd. Rank employees by salary descending using DENSE_RANK() so there are no gaps. Return first_name, salary, and dense_rank.

Database Schema

Table: employees

  • employee_id (INT): Unique identifier for the employee.
  • first_name (VARCHAR): First name of the employee.
  • last_name (VARCHAR): Last name of the employee.
  • salary (INT): Employee's salary.
  • department_id (INT): Foreign key referencing the department.
  • manager_id (INT): Foreign key referencing the manager (another employee).
  • hire_date (DATE): Date the employee was hired.

Table: departments

  • department_id (INT): Unique identifier for the department.
  • department_name (VARCHAR): Name of the department.

Try It

Loading playground environment...

Hint

Solution