Heim >Datenbank >MySQL-Tutorial >Wie berechnet man eine laufende Summe der täglichen Bestellzahlen in MySQL?
Laufende Gesamtsummenberechnung in MySQL: Ein praktisches Beispiel
Bei der Arbeit mit tabellarischen Daten ist für eine effiziente Analyse häufig die Berechnung laufender Summen erforderlich. Dieses Beispiel zeigt, wie eine laufende Summe der täglichen Bestellzahlen in MySQL berechnet wird. Wir beginnen mit einer Abfrage, die Bestellungen pro Tag zählt:
<code class="language-sql">SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS daily_count FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d</code>
Dies führt zu ähnlichen Ergebnissen wie:
d | daily_count |
---|---|
20 | 5 |
21 | 7 |
22 | 12 |
23 | 4 |
Um eine laufende Summenspalte hinzuzufügen, verwenden wir eine Benutzervariable:
<code class="language-sql">SET @running_total:=0; SELECT q1.d, q1.daily_count, (@running_total := @running_total + q1.daily_count) AS running_total FROM (SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS daily_count FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d) AS q1;</code>
Dieser Code initialisiert eine Variable @running_total
auf Null. Die innere Abfrage (q1
) wählt den Tag und die tägliche Bestellanzahl aus. Die äußere Abfrage durchläuft dann q1
, addiert die Zählung jedes Tages zu @running_total
und speichert die kumulative Summe in der Spalte running_total
.
Die Ausgabe enthält jetzt die laufende Summe:
d | daily_count | running_total |
---|---|---|
20 | 5 | 5 |
21 | 7 | 12 |
22 | 12 | 24 |
23 | 4 | 28 |
Diese erweiterte Abfrage liefert eine laufende Summe und vereinfacht so die Datenanalyse und -visualisierung.
Das obige ist der detaillierte Inhalt vonWie berechnet man eine laufende Summe der täglichen Bestellzahlen in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!