MySQL - kumulierte Summe
- Kategorie: MySQL
- Erstellt: Donnerstag, 09. Februar 2012 12:28
- Zuletzt aktualisiert: Donnerstag, 09. Februar 2012 12:53
- Geschrieben von Martina Major
Für die Abrechung der Einnahmen und Ausgaben für den Kleingärtnerverein werden kummulierte Summen benötigt. Diese könnte man natürlich auch bei der Eingabe errechnen und abspeichern, allerdings müsste bei eventuellen Korrekturen, dieses Feld jeweils neu berechnet werden, für alle nachfolgenden Datensätze.
Ganz abgesehen davon gilt es redundante Daten zu vermeiden!
D.h. alles was sich aus den bestehenden Daren errechnen lässt, sollte nur dann zusätzlich abgespeichert werden, wenn dies aus wichtigen Gründen (z.B. Zugriffszeiten) sinnvoll ist.
Für die Abfrage mit MySQL wird ein Subselect verwendet, welches über die id alle bisherigen Felder des Buchungsjahres bis zur id des jeweiligen Eintrages addiert.
SELECT a.*, (SELECT SUM(b.betrag) FROM garten_ausgaben b WHERE b.id <= a.id AND b.buchungsjahr=2011) AS 'kumulative Summe' FROM garten_ausgaben a WHERE a.buchungsjahr = 2011 ORDER BY a.id