In SQL bezieht sich eine laufende Gesamtsumme auf die Summe aller Werte in den vorherigen Zeilen in einer bestimmten Spalte.
Betrachten Sie beispielsweise die unten gezeigte Tabelle:
Beachten Sie, dass die Spalte cum_total die Gesamtmenge an dieser aktuellen Zeile hält. Zum Beispiel betrug die Gesamtsumme in der ersten Reihe 500; In der zweiten ist die Summe gleich der vorherigen + aktuellen Zeile.
Die kumulative Gesamtsumme wird nach jeder Spalte verschärft, indem die Summe aller vorherigen Zeilen übernommen und dem Wert der aktuellen Zeile hinzugefügt wird.
SQL Berechnen Sie die laufende Gesamtsumme
Der beste Weg, um die laufende Gesamtsumme zu berechnen, besteht darin, Fensterfunktionen zu verwenden. Mit einer Fensterfunktion können Sie einen bestimmten Vorgang auf Zeilen ausführen und einen einzelnen Aggregatwert für jede Zeile zurückgeben.
Die folgende Syntax zeigt, wie eine Fensterfunktion verwendet wird, um die laufende Gesamtsumme zu berechnen:
window_function (Spalte)Ein Beispiel ist die Verwendung der Funktion SUM ().
Angenommen, wir haben eine Tabelle wie unten gezeigt:
Um die laufende Gesamtsumme zu berechnen, können wir eine Windows -Funktion verwenden, wie unten gezeigt:
Wählen Sie Product_Name, Product_Category, Menge, Summe (Menge) Over (Order by Product_Name) als cum_total ausSie müssen die Überklausel mit einer Fensterfunktion verwenden, wenn Sie eine laufende Gesamtsumme bestimmen.
Angenommen, Sie haben die Daten in verschiedenen Gruppen organisiert. Zum Beispiel wird die Menge jeder product_category einzeln angezeigt?
Wir können die Partition nach Klausel hinzufügen, wie in der folgenden Syntax gezeigt.:
Wählen Sie Spalten (en)Die Abfrage sollte die Daten in verschiedene Gruppen partitionieren und ihre laufende Gesamtsumme berechnen.
Abschluss
Dieser Artikel behandelte die laufende Gesamtsumme und wie Sie ihn in SQL mit einer Fensterfunktion berechnen können.
Vielen Dank fürs Lesen und bleiben Sie auf dem Laufenden, um mehr zu erhalten!