MySQL Running Total Calculation: Komplettlösung
In MySQL kann die Berechnung einer laufenden Summe für einen bestimmten Datensatz auf einfache Weise erfolgen. Betrachten Sie dazu die folgende Abfrage:
<code class="language-sql">SELECT DAYOFYEAR(`date`) AS d, COUNT(*) FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d</code>
Diese Abfrage gibt eine Tabelle mit Spalte (d) für den Tag des Jahres und die entsprechende Anzahl bezahlter Bestellungen für dieses Datum zurück. Um eine laufende Summenspalte hinzuzufügen, können wir die Variable @runtot verwenden und die Abfrage wie folgt ändern:
<code class="language-sql">SET @runtot := 0; SELECT q1.d, q1.c, (@runtot := @runtot + q1.c) AS rt FROM (SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS c FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d) AS q1</code>
In dieser aktualisierten Abfrage:
SET @runtot := 0;
Initialisieren Sie die laufende Gesamtvariable auf Null. (@runtot := @runtot q1.c) AS rt
Berechnen Sie die laufende Summe, indem Sie jeden c-Wert zur vorherigen laufenden Summe addieren und ihn der Spalte „rt“ zuweisen. Das Ergebnis dieser Abfrage ist eine neue Tabelle mit einer zusätzlichen „rt“-Spalte, die die laufende Summe der bezahlten Bestellungen für jeden Tag darstellt.
Das obige ist der detaillierte Inhalt vonWie kann ich laufende Summen in MySQL berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!