標準 SQL 中的 Numbering 函式

下列各節說明 BigQuery 支援的 numbering 函式。Numbering 函式是 analytic 函式的子集。如需 analytic 函式的運作說明,請參閱 Analytic 函式概念。如需 numbering 函式的運作說明,請參閱 Numbering 函式概念

OVER 子句需求:

  • PARTITION BY:選用。
  • ORDER BY:必要,ROW_NUMBER() 除外。
  • window_frame_clause:不允許。

RANK

說明

傳回排序分區內每個資料列的序數排名 (從 1 開始編號)。所有對等資料列都會收到相同的排名值。下一資料列或下一組對等資料列會收到排名值,該值會按具有先前排名值的對等體數遞增,而不是像 DENSE_RANK 一律遞增 1。

支援的引數類型

INT64

DENSE_RANK

說明

傳回時間區間分區內每個資料列的序數排名 (從 1 開始編號)。所有對等資料列都會收到相同的排名值,後續排名值會按 1 遞增。

支援的引數類型

INT64

PERCENT_RANK

說明

傳回定義為 (RK-1)/(NR-1) 的資料列百分位數排名,其中 RK 是資料列的 RANK,NR 是分區中的資料列數。如果 NR=1 就會傳回 0。

支援的引數類型

FLOAT64

CUME_DIST

說明

傳回定義為 NP/NR 的資料列相對排名。NP 定義為在目前資料列之前或與目前資料列對等的資料列數。NR 是分區中的資料列數。

支援的引數類型

FLOAT64

NTILE

NTILE(constant_integer_expression)

說明

這個函式根據資料列排序將資料列分成 constant_integer_expression 個值區,並傳回指派給每個資料列的值區數值 (從 1 開始編號)。值區中的資料列數最多只能差 1。 餘數值 (資料列數除以值區後的餘數) 會為每個值區各分配一個,從值區 1 開始。如果 constant_integer_expression 評估為 NULL、0 或負值,就會產生錯誤。

支援的引數類型

INT64

ROW_NUMBER

說明

不需要 ORDER BY 子句。針對每個排序的分區傳回每個資料列的順序資料列序數 (以 1 為基礎)。若未指定 ORDER BY 子句,結果就非絕對。

支援的引數類型

INT64

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
需要協助嗎?請前往我們的支援網頁