Data Analytics

SQL - Window Functions

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames

20 Interview-Fragen·
Mid-Level
1

Was ist eine Window Function in SQL?

Antwort

Eine Window Function führt eine Berechnung über eine Reihe von Zeilen durch, die mit der aktuellen Zeile verbunden sind, ohne die Ergebnisse in eine einzelne Ausgabezeile zusammenzuführen. Im Gegensatz zu GROUP BY, das die Anzahl der Zeilen reduziert, behält eine Window Function alle Zeilen im Ergebnis bei und fügt eine berechnete Spalte hinzu. Die OVER()-Klausel definiert das Fenster, über das die Berechnung durchgeführt wird.

2

Welche Klausel ist obligatorisch, um eine Window Function zu definieren?

Antwort

Die OVER()-Klausel ist für jede Window Function obligatorisch. Sie teilt der SQL-Engine mit, dass die Funktion als Window Function und nicht als reguläre Aggregatfunktion ausgeführt werden soll. OVER() kann PARTITION BY, ORDER BY und eine Frame-Spezifikation enthalten, aber auch leer bleiben, um die Berechnung über die gesamte Ergebnismenge anzuwenden.

3

Welche Rolle spielt PARTITION BY in einer Window Function?

Antwort

PARTITION BY teilt die Zeilenmenge in unabhängige Gruppen (Partitionen) auf, und die Window Function wird separat auf jede Partition angewendet. Im Gegensatz zu GROUP BY reduziert PARTITION BY nicht die Anzahl der Zeilen im Ergebnis. Zum Beispiel berechnet SUM(sales) OVER(PARTITION BY region) den Gesamtumsatz pro Region und behält dabei jede einzelne Zeile bei.

4

Was ist der Hauptunterschied zwischen GROUP BY und PARTITION BY?

5

Was gibt ROW_NUMBER() OVER(ORDER BY salary DESC) zurück?

+17 Interview-Fragen

Meistere Data Analytics für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten