私はそれができないので、クエリのモデリングに助けが必要です。ハイブクエリ:別の列の中央値に基づいてパーティション上の列を選択する
私のデータは次のとおりです。
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