percent_rank
排名視窗函式
適用於: Databricks SQL Databricks Runtime
計算資料分割內值的百分比排名。
語法
percent_rank()
引數
函式不接受自變數
傳回
雙精度浮點數。
函式定義為視窗內的順位減一除以視窗內數據列數目減 1。 如果視窗中只有一個數據列,則排名為 0。
在表達式中,語意可以表示為:
nvl((rank() OVER(PARTITION BY p ORDER BY o) - 1) / nullif(count(1) OVER(PARTITION BY p) -1), 0), 0)
此函式類似,但與分析視窗函式cume_dist不同。
您必須在 視窗規格中包含 ORDER BY 子句 。
範例
> SELECT a, b, percent_rank(b) OVER (PARTITION BY a ORDER BY b)
FROM VALUES ('A1', 2), ('A1', 1), ('A1', 3), ('A1', 6), ('A1', 7), ('A1', 7), ('A2', 3), ('A1', 1) tab(a, b)
A1 1 0.0
A1 1 0.0
A1 2 0.3333333333333333
A1 3 0.5
A1 6 0.6666666666666666
A1 7 0.8333333333333334
A1 7 0.8333333333333334
A2 3 0.0