共用方式為


row_number 排名視窗函式

適用于: check marked yes Databricks SQL check marked yes Databricks Runtime

根據視窗分割中的資料列順序,為每個資料列指派唯一的循序數位,從一個開始。

語法

row_number()

引數

函式不接受引數。

傳回

INTEGER

window 函 OVER 式的 子句必須包含 ORDER BY 子句 。 與 和 dense_rank 不同 rankrow_number 會中斷系結。

如果順序不是唯一的,則結果不具決定性。

範例

> 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