Ranking functions are a specialized category of SQL window functions designed to assign ranks or numbers to rows within a partition. Common ranking functions include ROW_NUMBER(), RANK(), DENSE_RANK(), and NTILE().
ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name)
RANK() OVER (PARTITION BY column_name ORDER BY column_name)
DENSE_RANK() OVER (PARTITION BY column_name ORDER BY column_name
NTILE(n) OVER (PARTITION BY column_name ORDER BY column_name)
SELECT employee_id,
salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_num
FROM employees;
SELECT employee_id,
salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employees;
SELECT employee_id,
salary,
DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS dense_rank
FROM employees;
SELECT employee_id,
salary,
NTILE(4) OVER (PARTITION BY department_id ORDER BY salary DESC) AS quartile
FROM employees;