Hallo
Ich habe mir eine DB in MYSQL Server Version: 5.1.73 aufgebaucht
In die DB werden alle 30Sek Messwerte vom meinem Stromverbrauch und Erzeugung eingetragen.
Damit dies nicht nur nett in einer DB liegt soll es natürlich auch in einer Grafik zum Ausdruck gebracht werden.
Nun möchte ich das aus einem Messwert ein Durchschnitt errechnet wird dies soll gruppiert werden.
Damit die Datenflut nicht zu groß wird soll die gestriegen(ab 00:00Uhr9 und dieheutigen Werte berechnet werden.
Jeder eintrag bekommt mit NOW() einen DATETIME Wert
BSP:
DATUMZEIT | VERBRAUCH | ........
2017-01-04 14:21:49 | 2303
2017-01-04 14:21:19 |1567
.
.
.
Nun die Abfragen für die Einträge von gestern bis heute sowie die Grurpierungen einzel funktionieren.
Zusammengefasst wird mir aber nur die Zeit von gestern 00:00 - 00:55, in 5 Minutenschritten angezeigt.
Hier meine Abfrage
SELECT `datumzeit`, ROUND(AVG(`Verbrauch`),0)
FROM `Strom`
WHERE `datumzeit` > DATE_SUB(curdate(), INTERVAL 1 DAY)
GROUP BY MINUTE(`datumzeit`) DIV 5
Vielleicht könnt ihr mir noch einen kleinen Tipp geben.
Ich denke das man dies innerhalb einer Abfrage lösen könnte ohne eine neue Tabelle zu befüllen und daraus die Werte gruppieren lässt.
Grüße der Arne
Ich habe mir eine DB in MYSQL Server Version: 5.1.73 aufgebaucht
In die DB werden alle 30Sek Messwerte vom meinem Stromverbrauch und Erzeugung eingetragen.
Damit dies nicht nur nett in einer DB liegt soll es natürlich auch in einer Grafik zum Ausdruck gebracht werden.
Nun möchte ich das aus einem Messwert ein Durchschnitt errechnet wird dies soll gruppiert werden.
Damit die Datenflut nicht zu groß wird soll die gestriegen(ab 00:00Uhr9 und dieheutigen Werte berechnet werden.
Jeder eintrag bekommt mit NOW() einen DATETIME Wert
BSP:
DATUMZEIT | VERBRAUCH | ........
2017-01-04 14:21:49 | 2303
2017-01-04 14:21:19 |1567
.
.
.
Nun die Abfragen für die Einträge von gestern bis heute sowie die Grurpierungen einzel funktionieren.
Zusammengefasst wird mir aber nur die Zeit von gestern 00:00 - 00:55, in 5 Minutenschritten angezeigt.
Hier meine Abfrage
SELECT `datumzeit`, ROUND(AVG(`Verbrauch`),0)
FROM `Strom`
WHERE `datumzeit` > DATE_SUB(curdate(), INTERVAL 1 DAY)
GROUP BY MINUTE(`datumzeit`) DIV 5
Vielleicht könnt ihr mir noch einen kleinen Tipp geben.
Ich denke das man dies innerhalb einer Abfrage lösen könnte ohne eine neue Tabelle zu befüllen und daraus die Werte gruppieren lässt.
Grüße der Arne