web-dev-qa-db-ja.com

Hiveで中央値を計算する方法

Hiveテーブルがあり、

name    age     sal
A       45      1222
B       50      4555
c       44      8888
D       78      1222
E       12      7888
F       23      4555

年齢列の中央値を計算したい。

以下は私のアプローチです

select min(age) as HMIN,max(age) as HMAX,count(age) as HCount,
IF(count(age)%2=0,'even','Odd') as PCOUNT 
from v_act_subjects_bh;

クエリの提案に感謝

26
Aman

パーセンタイル関数を使用して中央値を計算できます。これを試して:

select percentile(cast(age as BIGINT), 0.5) from table_name
71
Amar