Ich brauche Hilfe bei der Modellierung einer Abfrage, da ich dazu nicht in der Lage bin.Hive-Abfrage: Auswählen der Spalte über eine Partition basierend auf einem Median einer anderen Spalte
Meine Daten:
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
ich den Namen und den Namen mit einer medianen Höhe pro Schule auswählen möchten.
Erwartete Ausgabe:
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
Hier Person B hat die mittlere Höhe in der Schule S1 und E hat in S2.
Ich weiß, wir können Median mit Perzentil erhalten. Aber ich bin nicht in der Lage, herauszufinden, wie man den Wert pro Partitionsbasis auswählt.
, wenn Sie gerade Anzahl von Beobachtungen in einer Gruppe haben, wäre der Median nicht gleich ein Wert mit einem entsprechenden Schule. Was sollten Sie in diesem Fall tun? –
Ja, das ist ein Randfall. :( Eigentlich in meinem Anwendungsfall bin ich gut mit dem mittleren Wert. Für gerade Elemente kann der mittlere Wert N/2 oder N/2 + 1 sein. Das wird keinen Unterschied machen. Ich denke, ich sollte einige Operation verwenden ROWNUM? – Adi