共用方式為


percentile 聚合函數

適用於:勾選「是」Databricks SQL 勾選「是」Databricks Runtime

傳回在指定的群組中exprpercentage的確切百分位數值。

語法

percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]

您也可以使用子句,將此函式當作OVER來叫用。

引數

  • expr:一個能計算為數值的表達式。
  • percentage:介於 0 到 1 之間的數值表示式,或 ARRAY 中的每個數值表示式,且每個都介於 0 到 1 之間。
  • frequency:可選的整數字面值大於 0。
  • cond:選擇性布爾表示式,篩選用於匯總的數據列。

退貨

DOUBLE 如果 percentage 為數值,則 ARRAY<DOUBLE> 為 ,如果為 ,則 percentageARRAY

頻率描述必須計算的次數 expr 。 特定值的頻率為 10,相當於視窗中以 1 的頻率顯示 10 次的值。 默認頻率為 1。

如果 DISTINCT 指定 ,則函式只會在一組 expr 唯一的值上運作。

範例

> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
 6.0

> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
 3.0

> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
 6.0

> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
 [2.5,7.5]