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

Wie kann ich kumulative Summen in MySQL berechnen?

Susan Sarandon
Freigeben: 2025-01-22 09:58:39
Original
548 Leute haben es durchsucht

How Can I Calculate Cumulative Sums in MySQL?

Kumulative Summenspalte in MySQL erstellen

Bei der Verarbeitung von Datensätzen ist es oft notwendig, die kumulative Summe zu berechnen. In MySQL kann dies auf verschiedene Arten erreicht werden.

Verwandte Abfrage verwenden

Bei verwandten Abfragen wird auf Daten aus anderen Zeilen in derselben Abfrage verwiesen. So erstellen Sie mit dieser Methode eine kumulative Summenspalte:

<code class="language-sql">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;</code>
Nach dem Login kopieren

Verwendung von MySQL-Variablen

MySQL-Variablen können auch für kumulative Summenberechnungen verwendet werden. Dazu muss eine Variable deklariert und in der Abfrage erhöht werden:

<code class="language-sql">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;</code>
Nach dem Login kopieren

Beachten Sie, dass Cross-Joins (SELECT @running_total := 0) r zum Deklarieren von Variablen verwendet werden.

Notizen

  • Diese Methoden sind MySQL-spezifisch, was bedeutet, dass sie möglicherweise nicht mit anderen Datenbanken funktionieren.
  • Die
  • ORDER BY-Klausel ist entscheidend, um die richtige Reihenfolge der Berechnungen sicherzustellen.
  • MySQL-Variablen unterliegen bestimmten Einschränkungen, z. B. dass sie nicht portierbar sind, und müssen bei komplexeren Abfragen mit Vorsicht verwendet werden.

Das obige ist der detaillierte Inhalt vonWie kann ich kumulative 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