Hallo zusammen,
ich habe eine Tabelle mit drei Spalten:
Minute [nat. Zahl] | Datum | Wert [reelle Zahl]
Als Eingabedateien für nachfolgende Programme benötige ich das folgende Ausgabeformat:
Minute;Datum;Wert
Beispiel:
0;2014-01-01;564
0;2014-01-02;12
1;2014-01-01;0
1;2014-01-02;84
2;2014-01-01;21
2;2014-01-02;48
Dabei muß allerdings jede Minute genau einmal aufgeführt werden - d.h. auch Minuten, zu welchen keine Meßwerte vorliegen. Dort soll dann Datum mit dem "aktuellen" Datum (d.h. das Datum des aktuellen Blocks) und Wert mit "0" befüllt werden. Bei mehrfachen Meßwerten pro Minute soll das arithmetische Mittel als Wert ausgegeben werden.
Also im Grunde brauche ich:
SELECT Minute, Datum, SUM(Wert)/COUNT(*) FROM Tabelle GROUP BY Minute, Datum
Wobei hier die Minuten ohne Meßwerte fehlen.
Gibt es eine Möglichkeit, das irgendwie elegant zu lösen? Kann man in der SELECT-Anweisung z.B. irgendwie eine Schleife einbauen? Die Minuten könnte man fix im Bereich (0, 1440) vorgeben. Hauptsache die Matrix ist vollständig.
ich habe eine Tabelle mit drei Spalten:
Minute [nat. Zahl] | Datum | Wert [reelle Zahl]
Als Eingabedateien für nachfolgende Programme benötige ich das folgende Ausgabeformat:
Minute;Datum;Wert
Beispiel:
0;2014-01-01;564
0;2014-01-02;12
1;2014-01-01;0
1;2014-01-02;84
2;2014-01-01;21
2;2014-01-02;48
Dabei muß allerdings jede Minute genau einmal aufgeführt werden - d.h. auch Minuten, zu welchen keine Meßwerte vorliegen. Dort soll dann Datum mit dem "aktuellen" Datum (d.h. das Datum des aktuellen Blocks) und Wert mit "0" befüllt werden. Bei mehrfachen Meßwerten pro Minute soll das arithmetische Mittel als Wert ausgegeben werden.
Also im Grunde brauche ich:
SELECT Minute, Datum, SUM(Wert)/COUNT(*) FROM Tabelle GROUP BY Minute, Datum
Wobei hier die Minuten ohne Meßwerte fehlen.
Gibt es eine Möglichkeit, das irgendwie elegant zu lösen? Kann man in der SELECT-Anweisung z.B. irgendwie eine Schleife einbauen? Die Minuten könnte man fix im Bereich (0, 1440) vorgeben. Hauptsache die Matrix ist vollständig.