web-dev-qa-db-fra.com

Comment calculer la médiane dans la ruche

J'ai une table Hive,

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

Je veux calculer la colonne médiane de l'âge.

Voici mon approche

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;

Appréciez toute suggestion de requête

26
Aman

Vous pouvez utiliser la fonction percentile pour calculer la médiane. Essaye ça:

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