Hive中的分位數函數是PERCENTILE_APPROX
,它用于計算給定百分比的近似值
SELECT
column_name,
PERCENTILE_APPROX(0.5) WITHIN GROUP (ORDER BY column_name) OVER () AS percentile_50
FROM
table_name;
在這個示例中,我們計算了表table_name
中column_name
列的50th百分位數值。PERCENTILE_APPROX
函數接受一個參數,表示要計算的百分位數值(在0到1之間)。
如果你需要計算其他百分位數值,只需將參數更改為所需的百分比即可。例如,要計算90th百分位數值,可以使用以下查詢:
SELECT
column_name,
PERCENTILE_APPROX(0.9) WITHIN GROUP (ORDER BY column_name) OVER () AS percentile_90
FROM
table_name;
請注意,PERCENTILE_APPROX
函數返回的是一個近似值,而不是精確值。如果你需要更高的精度,可以考慮使用PERCENTILE_CONT
函數,但它需要使用窗口函數進行計算。