卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章53204本站已运行3121

oracle中rank函数怎么用

oracle中的rank() 函数用于对数据组排序,并分配排名:将相同值分配相同的排名按值递增的顺序排序从1开始分配排名如果有重复值,下一个值将跳过该排名

oracle中rank函数怎么用

Oracle 中 RANK() 函数

RANK() 函数用于对一组数据进行排序并分配排名。它将相同值分配相同的排名,并按值递增的顺序进行排序。

语法

<code class="sql">RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)

参数

  • partition_expression (可选):用于将数据划分为组的表达式。如果没有指定,则对所有行进行整体排序。
  • order_expression:用于对数据进行排序的表达式。可以是列、表达式或函数。

工作原理

RANK() 函数在组内查找每个值的位置,并分配以下排名:

  • 相同值分配相同排名。
  • 值递增,排名也递增。
  • 从 1 开始分配排名。

示例

<code class="sql">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

**注意**

* 如果有多个具有相同排名的值,则下一个值将跳过该排名。
卓越飞翔博客
上一篇: oracle中字符串用什么符号连接
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏