SQL PARTITION BY (Deutsch)

Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie SQL PARTITION BY -Klausel, um zu ändern, wie die Fensterfunktion das Ergebnis berechnet.

Übersicht über die SQL PARTITION BY-Klausel

Die PARTITION BY -Klausel ist eine Unterklausel von die OVER -Klausel. Die Klausel PARTITION BY unterteilt die Ergebnismenge einer Abfrage in Partitionen. Die Fensterfunktion wird für jede Partition separat ausgeführt und für jede Partition neu berechnet.

Im Folgenden wird die Syntax der PARTITION BY -Klausel gezeigt:

Sie können eine oder mehrere Spalten oder Ausdrücke angeben, um die Ergebnismenge zu partitionieren. Die expression1, expression1 usw. können sich nur auf die Spalten beziehen, die von der FROM Klausel. Sie können nicht auf Ausdrücke oder Aliase in der Auswahlliste verweisen.

Die Ausdrücke der PARTITION BY -Klausel können Spaltenausdrücke, skalare Unterabfragen oder skalare Funktionen sein. Beachten Sie, dass eine skalare Unterabfrage und eine skalare Funktion immer einen einzelnen Wert zurückgeben.

Wenn Sie die Klausel PARTITION BY weglassen, wird die gesamte Ergebnismenge als einzelne Partition behandelt.

PARTITION BY vs. GROUP BY

Die GROUP BY -Klausel wird häufig in Verbindung mit einer Aggregatfunktion wie SUM() und AVG(). Die Klausel GROUP BY reduziert die Anzahl der zurückgegebenen Zeilen, indem sie aufgerollt und die Summen oder Durchschnittswerte für jede Gruppe berechnet werden.

Die folgende Anweisung gibt beispielsweise den Durchschnitt zurück Gehalt der Mitarbeiter nach Abteilungen:

Das folgende Bild zeigt das Ergebnis:

Die Klausel PARTITION BY unterteilt die Ergebnismenge in Partitionen und ändert die Berechnung der Fensterfunktion. Die Klausel PARTITION BY reduziert nicht die Anzahl der zurückgegebenen Zeilen.

Die folgende Anweisung gibt das Gehalt des Mitarbeiters und auch das Durchschnittsgehalt der Abteilung des Mitarbeiters zurück:

Hier ist die Teilausgabe:

In einfachen Worten ist die GROUP BY -Klausel aggregiert, während die PARTITION BY -Klausel analytisch ist.

In diesem Fall In diesem Lernprogramm haben Sie die SQL-Klausel PARTITION BY kennengelernt, mit der die Berechnung des Ergebnisses der Fensterfunktion geändert wird.

  • War dieses Lernprogramm hilfreich?
  • JaNein

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.