我無法做到這一點,因此我需要建模查詢的幫助。Hive查詢:根據不同列的中位數在分區上選擇列
我的數據是:
id name school height
1 A S1 10
2 B S1 12
3 C S1 14
4 D S2 15
5 E S2 16
6 F S2 17
我想選擇的名稱和每所學校平均身高名稱。
預期輸出:
id name school myval
1 A S1 B
2 B S1 B
3 C S1 B
4 D S2 E
5 E S2 E
6 F S2 E
在這裏,人B在校S1的平均身高和E在S2。
我知道我們可以使用百分位數來計算中位數。但我無法弄清楚如何選擇每個分區的基礎值。
,如果你有一組連號的觀測,中位數將不等於對應於一個值學校。在這種情況下你應該做什麼? –
是的,這是一個邊緣案例。 :( 其實在我的用例中,我對中間值很好,對於偶數元素,中間值可以是N/2或N/2 + 1。這不會有什麼區別,我想我應該使用一些操作ROWNUM? – Adi