percentile
聚合函數
適用於: Databricks SQL Databricks Runtime
傳回在群組中指定percentage
之 的確切百分位數值expr
。
語法
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
您也可以使用 子句,將此函式叫用OVER
為視窗函式。
引數
expr
:評估為數值的表達式。percentage
:介於 0 到 1 之間的數值表示式或數值表達式的 ARRAY,每個運算式介於 0 到 1 之間。frequency
:選擇性整數常值大於 0。cond
:選擇性布爾表示式,篩選用於匯總的數據列。
傳回
如果 percentage
為數值,則為 DOUBLE,如果 percentage
為 ARRAY,則為 DOUBLE 的 ARRAY。
頻率描述必須計算的次數 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]