oracle中的rank() 函数用于对数据组排序,并分配排名:将相同值分配相同的排名按值递增的顺序排序从1开始分配排名如果有重复值,下一个值将跳过该排名
Oracle 中 RANK() 函数
RANK() 函数用于对一组数据进行排序并分配排名。它将相同值分配相同的排名,并按值递增的顺序进行排序。
语法
RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)
参数
- partition_expression (可选):用于将数据划分为组的表达式。如果没有指定,则对所有行进行整体排序。
- order_expression:用于对数据进行排序的表达式。可以是列、表达式或函数。
工作原理
RANK() 函数在组内查找每个值的位置,并分配以下排名:
- 相同值分配相同排名。
- 值递增,排名也递增。
- 从 1 开始分配排名。
示例
SELECT id, name, RANK() OVER (PARTITION BY job ORDER BY salary) AS job_rank FROM employees;
结果:
id | name | job_rank |
---|---|---|
1 | John Doe | 1 |
2 | Jane Smith | 2 |
3 | Peter Parker | 1 |
4 | Mary Jones | 2 |
5 | Michael Scott | 1 |
**注意** * 如果有多个具有相同排名的值,则下一个值将跳过该排名。
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » oracle中rank函数怎么用
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » oracle中rank函数怎么用