Ermitteln der ersten Zeile in einer Gruppe mithilfe von Hive

8

Für eine Schülerdatenbank im folgenden Format

%Vor%

Wie finde ich heraus, wer in welcher Klasse am höchsten war? Die folgende Abfrage gibt die gesamte Gruppe zurück, aber ich bin daran interessiert, die erste Zeile in der Gruppe zu finden.

%Vor%     
Praveen Sripati 24.09.2014, 05:15
quelle

3 Antworten

3

Sie werden eine weitere Gruppe durch und eine Verbindung machen, um die gewünschten Ergebnisse zu erzielen. Dies sollte tun:

%Vor%     
Amar 24.09.2014, 10:13
quelle
28

Eine andere Möglichkeit, row_number()

zu verwenden %Vor%

Wenn Sie alle Verbindungen für Bestnoten zurückgeben möchten, verwenden Sie rank() anstelle von row_number()

    
FuzzyTree 24.09.2014 13:51
quelle
0

Wir müssen auf der von Ihnen bereitgestellten Abfrage aufbauen:

  1. Die angegebene Abfrage gibt Ihnen die Markierungen pro Klasse pro Rolle. Um das Höchste herauszufinden Gesamt erreicht pro Klasse, müssen Sie Roll-Nummer aus der Auswahl entfernen und dann für diese Abfrage gruppieren.

  2. Jetzt kennen wir die Schule, die Klasse und die höchste Summe pro Klasse und Schule. Sie müssen nur die Rollennummer herausfinden, die dieser Summe entspricht. Dafür wird ein Join benötigt.

Die letzte Abfrage sieht wie folgt aus:

%Vor%     
Abhishek Pathak 24.09.2014 11:56
quelle

Tags und Links