次の方法で共有


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

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

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

構文

dense_rank()

引数

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

戻り値

INTEGER。

ウィンドウ関数の OVER 句には、ORDER BY 句を含める必要があります。 関数の順位付けウィンドウ関数とは異なり、dense_rank は順位付けシーケンスにギャップが生じません。 row_number 順位付けウィンドウ関数とは異なり、dense_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