核⼼答案:SQL 中的 RANK() 函数用于返回指定行在结果集中的排名,基于行中值的排序。详细描述:RANK() 函数通过 OVER 子句指定分区和排序表达式。它根据指定列或表达式的排序对结果集中的行进行排名。相同值的排名相同,从 1 开始。RANK() 函数在每个分区内独立计算排名,这意味着不同分区中具有相同值的行的排名可能不同。
SQL 中 RANK() 函数
RANK() 函数简介
RANK() 函数返回指定行在结果集中的排名。排名基于行中值的排序,并且相同值的排名相同。
语法
RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)
参数
用法
RANK() 函数通常用于对查询结果进行排名,例如:
示例
以下示例将按部门对员工进行排名,并显示每个员工的排名:
SELECT department, name, RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS employee_rank FROM employees;
结果
| department | name | employee_rank |
|---|---|---|
| Sales | John Doe | 1 |
| Sales | Jane Smith | 2 |
| Marketing | Michael Jones | 1 |
| Marketing | Emily Carter | 2 |
| Finance | David Brown | 1 |
| Finance | Mary Miller | 2 |
注意事项
们将获得相同的排名。