Diese Anleitung beschreibt zwei effektive Methoden zum Generieren von kumulativen Summenspalten in MySQL-Datenbanken.
Methode 1: Verwendung korrelierter Unterabfragen
Dieser Ansatz verwendet eine korrelierte Unterabfrage, um die kumulative Summe zu berechnen:
SELECT t.id, t.count, (SELECT SUM(x.count) FROM TABLE x WHERE x.id <= t.id) AS cumulative_sum FROM TABLE t ORDER BY t.id;
Die korrelierte Unterabfrage, eingebettet in die AS
-Klausel, berechnet dynamisch die kumulative Summe für jede Zeile. Es summiert die count
-Werte vom Anfang der Tabelle bis einschließlich id
der aktuellen Zeile.
Methode 2: MySQL-Variablen nutzen
MySQL-Variablen bieten eine alternative Methode zur kumulativen Summenberechnung:
SELECT t.id, t.count, @running_total := @running_total + t.count AS cumulative_sum FROM TABLE t JOIN (SELECT @running_total := 0) r ORDER BY t.id;
Diese Methode initialisiert eine MySQL-Variable @running_total
mithilfe eines Cross-Joins auf 0. Während die Abfrage jede Zeile in TABLE t
durchläuft, akkumuliert @running_total
die count
-Werte und erzeugt die kumulative Summe.
Wichtige Überlegungen:
ORDER BY
-Klausel, um eine genaue Berechnung der kumulativen Summe sicherzustellen. Die Reihenfolge der Zeilen bestimmt die Summationsreihenfolge.Das obige ist der detaillierte Inhalt vonWie generiert man effizient eine kumulative Summenspalte in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!