HIVE/SQL 分位数使用方法 NTILE ( n )
1. 最常用:NTILE (5) 分 5 组
把数据按某列排序,平均分成 5 份,标记 1~5 分位。
SELECT id, name, salary, NTILE(5) OVER (ORDER BY salary) AS quintile FROM employee;
ORDER BY score ASC:按分数从小到大分quintile = 1:最低 1/5quintile = 5:最高 1/5

2. 如果你要 “分位数数值”(如 20%、40%、60%、80% 分位数)
用 分位数函数(不同数据库写法不同):
SELECT PERCENTILE_CONT(0.2) WITHIN GROUP (ORDER BY salary) AS p20, -- 第1个五分位 PERCENTILE_CONT(0.4) WITHIN GROUP (ORDER BY salary) AS p40, -- 第2个五分位 PERCENTILE_CONT(0.6) WITHIN GROUP (ORDER BY salary) AS p60, -- 第3个五分位 PERCENTILE_CONT(0.8) WITHIN GROUP (ORDER BY salary) AS p80 -- 第4个五分位 FROM employee;

浙公网安备 33010602011771号