Die Gruppierung von Daten und die Bildung entsprechender Summen gehört zu den grundlegenden Möglichkeiten von SQL. Manchmal ist es dann jedoch so, dass die einfache Summenbildung nicht ausreicht, speziell dann, wenn neben den Einzelsummen auch noch eine Gesamt- oder gar Zwischensummen benötigt werden. Läßt sich Letzteres mit dem, seit Version 4.1.1 des MySQL-Servers verfügbaren, GROUP BY-Modifikator „WITH ROLLUP” noch relativ einfach realisieren, so stellt die Bildung einer fortlaufenden Summe oftmals ein Problem dar.
Es seien die Tagesverdienste eines Shops in einem bestimmten Zeitraum gegeben. Gesucht werden die Verdienste je Monat, der Gesamtverdienst im Zeitraum und die fortlaufende Aufsummierung der Monatsverdienste. Das klingt erstmal nicht kompliziert, wird es aber wenn man an die konkrete Umsetzung innerhalb einer SQL-Abfrage geht. Wie eine mögliche Lösung für MySQL aussehen kann, möchte ich hier vorstellen.