Ranking Functions in SQL Server (Type of Functions in SQL Server - Part 2)
Suresh Kumar Rajendran
Head of R&D | Building Framework for ERP product | .Net | C# | SQL | React | Kendo | JavaScript| PMO | Construction Domain ERP | Initiation of AI based ERP
Ranking Functions in SQL Server
Ranking functions are used to assign a rank or numbering to rows within a result set. These functions are commonly used with the OVER() clause to define the ranking criteria.
Types of Ranking Functions
1. ROW_NUMBER()
Syntax:
sql
ROW_NUMBER() OVER (PARTITION BY column_name ORDER BY column_name)
Example:
sql
SELECT EmployeeID, Name, Department,
????? ?ROW_NUMBER() OVER (PARTITION BY Department ORDER BY Salary DESC) AS RowNum
FROM Employees;
2. RANK()
Syntax:
sql
RANK() OVER (PARTITION BY column_name ORDER BY column_name)
Example:
sql
SELECT EmployeeID, Name, Department,
?????? RANK() OVER (PARTITION BY Department ORDER BY Salary DESC) AS Rank
FROM Employees;
3. DENSE_RANK()
Syntax:
sql
DENSE_RANK() OVER (PARTITION BY column_name ORDER BY column_name)
Example:
sql
SELECT EmployeeID, Name, Department,
领英推荐
?????? DENSE_RANK() OVER (PARTITION BY Department ORDER BY Salary DESC) AS DenseRank
FROM Employees;
4. NTILE()
Syntax:
sql
NTILE(number_of_tiles) OVER (PARTITION BY column_name ORDER BY column_name)
Example:
sql
SELECT EmployeeID, Name, Department,
?????? NTILE(4) OVER (ORDER BY Salary DESC) AS Tile
FROM Employees;
Comparison of Ranking Functions
Practical Use Cases
Pagination with ROW_NUMBER()
sql
WITH CTE AS (
??? SELECT ROW_NUMBER() OVER (ORDER BY Salary DESC) AS RowNum, *
??? FROM Employees
)
SELECT * FROM CTE
WHERE RowNum BETWEEN 11 AND 20;
Key Notes
Great Share!