次の方法で共有


rank 順位付けウィンドウ関数

適用対象:check marked yes Databricks SQL check marked yes Databricks Runtime

パーティション内のすべての値と比較した値の順位を返します。

構文

rank()

引数

この関数は引数を取りません。

返品

INTEGER

このウィンドウ関数の OVER 句には、ORDER BY 句を含める必要があります。

関数 dense_rank とは異なり、rank では順位付けシーケンスにギャップが生じます。 row_number とは異なり、rank では優先順位を決定しません。

順序が一意ではない場合、重複した順序には、同一の早い相対位置が指定されます。

> SELECT a,
         b,
         dense_rank() OVER(PARTITION BY a ORDER BY b),
         rank() OVER(PARTITION BY a ORDER BY b),
         row_number() OVER(PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1   1   1
 A1 1   1   1   2
 A1 2   2   3   3
 A2 3   1   1   1