Heim > Datenbank > MySQL-Tutorial > Wie kann ich laufende Summen in MySQL berechnen?

Wie kann ich laufende Summen in MySQL berechnen?

Susan Sarandon
Freigeben: 2025-01-22 06:31:12
Original
650 Leute haben es durchsucht

How Can I Calculate Running Totals in MySQL?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

In dieser aktualisierten Abfrage:

  • SET @runtot := 0; Initialisieren Sie die laufende Gesamtvariable auf Null.
  • Unterabfrage (q1) verarbeitet die Kernberechnungen und ruft den Tag des Jahres (d) und die Anzahl der bezahlten Bestellungen (c) ab.
  • (@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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage