Rubrik: Datenbanken | VB-Versionen: VB2005, VB2008, VB2010 | 08.06.11 |
Mit SQL-SELECT Werte kumulativ berechnen Es wird an einem Beispiel ein mögliches Prinzip gezeigt, wie man mittels SQL-SELECT-Anweisung Werte kumulativ summieren kann. | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 10.841 |
ohne Homepage | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Ich gehe von meinem Tipp Zeilen nummerieren bei SQL-SELECT aus, mit dem man mittels SELECT INTO... eine Tabelle erzeugt hat, bei der die Zeilen durchnummeriert und somit 'numerisch' geordnet sind. Das mache ich so, weil im Normalfall, wenn man in der Tabelle einen Primärschlüssel anwendet, dadurch nicht unbedingt eine solche Ordnung durch das Schlüsselfeld besteht, wie man sie braucht.
Die Tabelle 'TestKumu' sähe also im Prinzip so aus:
rowNum Wert 1 20,00 2 12,34 3 33,50 4 21,12 ...
Eine entsprechende SELECT-Anweisung für die Berechnung der Kumulativwerte kann man dann so schreiben:
SELECT a.Wert, (SELECT SUM(b.Wert) FROM TestKumu AS b WHERE b.rowNum <= a.rowNum) AS kumuWert FROM TestKumu AS a
Das Ergebnis wäre dann:
Wert kumuWert 20,00 20,00 12,34 32,34 33,50 65,84 21,12 86,96 ...