sql排名函数rank怎么用-SQL

SQL排名函数RANKの使い方

概要

RANK函数是一个SQL排名函数,用于对表中的数据进行排序并分配排名。它返回指定范围内的每一行的排名,与行中的实际值无关。

语法

RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)
登录后复制

参数

  • partition_expression:将数据划分为组的可选表达式。如果省略,则整个表将被视为一个组。
  • order_expression:用于对数据进行排序的表达式。

用法

  1. 确定分区:如果需要按组对数据进行排名,请指定分区表达式。否则,省略该参数。
  2. 指定排序表达式:指定用于对数据进行排序的表达式。该表达式可以是数值列、日期列或其他可比较的列。
  3. 应用RANK函数:使用RANK函数对数据进行排序并分配排名。

示例

员工表

姓名 部门 销售额
约翰 A 100
玛丽 B 200
保罗 A 150
苏珊 B 250

按部门排名:

SELECT 姓名, 部门, RANK() OVER (PARTITION BY 部门 ORDER BY 销售额 DESC) AS 排名
FROM 员工表
ORDER BY 排名;
登录后复制

输出:

姓名 部门 排名
苏珊 B 1
玛丽 B 2
保罗 A 1
约翰 A 2

在该示例中,数据按部门进行分区,然后按销售额降序排序。对于每个部门,RANK函数分配了唯一的排名,从1开始。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。