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/5
  • quintile = 5:最高 1/5

image

 

 

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;

image

 

 
 
 
posted @ 2026-04-02 12:09  subsir  阅读(2)  评论(0)    收藏  举报