What is the RANK function?
初級| Function | Tie Handling | Gaps After Tie |
ROW_NUMBER() | Arbitrary unique number | No |
RANK() | Same rank for ties | Yes (skips numbers) |
DENSE_RANK() | Same rank for ties | No (consecutive) |
SELECT EmployeeID, FirstName, Salary,
ROW_NUMBER() OVER (ORDER BY Salary DESC) AS RowNum,
RANK() OVER (ORDER BY Salary DESC) AS RankNum,
DENSE_RANK() OVER (ORDER BY Salary DESC) AS DenseRank,
NTILE(4) OVER (ORDER BY Salary DESC) AS Quartile
FROM Employees;
-- Rank within each department
SELECT EmployeeID, DeptID, Salary,
RANK() OVER (PARTITION BY DeptID ORDER BY Salary DESC) AS DeptRank
FROM Employees;↥ back to top