Hello! 欢迎来到小浪云!


rank函数的用法


avatar
小浪云 2024-12-06 25

rank 函数用于对数据集中的值进行排名,返回每个值在排序后的列表中的位置。语法:rank([sort_order,] expression, partition_by_clause, order_by_clause)。用法包括:升序或降序排名、带分区的分组排名、带排序条件的分组排名。

rank函数的用法

rank 函数的用法

什么是 rank 函数?

rank 函数用于对数据集中的值进行排名,从高到低或从低到高,并返回每个值在排序后的列表中的位置。

语法:

RANK([sort_order,] expression, partition_by_clause, order_by_clause)

参数:

  • sort_order (可选):指定排序顺序(升序或降序),默认为升序。
  • expression:要排名的表达式。
  • partition_by_clause (可选):指定对数据进行分区的列。
  • order_by_clause (可选):指定排序的列。

用法:

基本用法(升序):

SELECT RANK() OVER (ORDER BY sales) FROM sales_table;

这将对 sales_table 中的 sales 列进行升序排列,并返回每个 sales 值的排名。

基本用法(降序):

SELECT RANK(DESC) OVER (ORDER BY sales) FROM sales_table;

这将对 sales_table 中的 sales 列进行降序排列,并返回每个 sales 值的排名。

带分区的分组排名:

SELECT RANK() OVER (PARTITION BY region ORDER BY sales) FROM sales_table;

这将对 sales_table 中的数据按 region 列进行分区,然后在每个分区内对 sales 列进行升序排列

带排序条件的分组排名:

SELECT RANK() OVER (PARTITION BY region ORDER BY sales DESC) FROM sales_table;

这将对 sales_table 中的数据按 region 列进行分区,然后在每个分区内对 sales 列进行降序排列。

相关阅读