Hallo zusammen.
Allgemeines Problem: Ich habe Datensätze mit einem Zeitstempel und möchte nun gern den Bestand an Datensätzen im Verlauf der Zeit als Graph darstellen. Der Wert Y für den Zeitpunkt X errechnet sich also aus der Anzahl der Datensätze vom Anfangszeitpunkt bis X. Für einen einzelnen Wert sieht das Select-Statement also so aus:
SELECT COUNT(D.ID) FROM Datensätze D WHERE (Anfangszeitpunkt <= D.Zeitstempel) AND (D.Zeitstempel <= X)
Wie kann ich nun aber, damit ein Graph entsteht, Wertepaare (X; Select(Anfangszeitpunk,X)) mit
SQL zusammenstellen?
Noch ein konkretes Beispiel: Die Datensätze seien die aus Tabelle 1:
SQL-Code:
Tabelle 1
+----+--------------+-------+
| ID | Zeitstempel | Feld |
+----+--------------+-------+
| 1 | 2006-01-08 | 29 |
| 2 | 2006-01-12 | 26 |
| 3 | 2006-01-15 | 47 |
| 4 | 2006-02-24 | 5 |
| 5 | 2006-02-17 | 16 |
| 6 | 2006-03-04 | 30 |
| 7 | 2006-05-29 | 6 |
| 8 | 2006-04-30 | 34 |
| 9 | 2006-05-21 | 2 |
| 10 | 2006-06-06 | 41 |
| 11 | 2006-06-19 | 3 |
+----+--------------+-------+
Die Tabelle für den Graphen könnte dann so aussehen (es wurde nach Jahr, Monat gruppiert; Zeitraum: gesamter Datenbesand von 2006-01 bis 2006-06):
SQL-Code:
Tabelle 2
+--------------+----------+
| Zeitpunkt X | Bestand |
+--------------+----------+
| 2006-01 | 3 |
| 2006-02 | 5 |
| 2006-03 | 6 |
| 2006-04 | 7 |
| 2006-05 | 9 |
| 2006-06 | 11 |
+--------------+----------+
Wie kann man das machen? Evtl. mit Stored Procedures? Wenn da jemand eine Lösung kennt oder weiß, das es damit funktionieren kann, bin ich für jeden Ansatz dankbar. Ich habe nur leider keine Ahnung von Stored Procedures.
Gruß, Axos.