select perecentile(time,0.95) from sometable;
gives the 95th percentile.
我想要时间值低于此值的所有行的平均值。
在 oracle 中,它会是这样的:-
select avg(time) from sometable
where
time<(select percentile(time,0.95) from sometable);
但是在 hive 中,不可能在 where 子句中使用子查询。当我使用 union all 时,我无法隔离我需要与其他元组进行比较的元组。