Heim >Datenbank >MySQL-Tutorial >Wie berechnet man eine laufende Summe der täglichen Bestellzahlen in MySQL?

Wie berechnet man eine laufende Summe der täglichen Bestellzahlen in MySQL?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-22 06:41:16887Durchsuche

How to Calculate a Running Total of Daily Order Counts 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn