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]