der_Angler
Benutzer
- Beiträge
- 11
Nabend,
ich habe mich ein einfaches php-Script zur Datenbankabfrage geschrieben, welches Sensor-Werte mittels Charts ausgibt.
Dabei habe ich 2 x Möglichkeiten geschaffen:
1. alle Werte einzel angezeigt zu bekommen
2. einen stündlichen Durchschnitt mittels AVG errechnen und ausgeben
Optisch sehen die 2 x Charts dann auch genau so aus wie sie sollen, allerdings scheinen die Sensor-Werte nicht zu stimmen.
Während sich bei der Möglichkeit 1 der Chart zwischen 27% und 387% bewegt, bewegt er sich bei Möglichkeit 2 nur zwischen 50% und 262%
Und ich verstehe nicht warum, ich kann mir nur ein Fehler in der SQL Abfrage vorstellen.
Hier erstmal der Chart mit den einzelnen Werten
dann der Chart mit der stündlichen Zusammenfassung
zu guter Letzt hier der PHP Code mit der SQL Abfrage
Möglichkeit 1, alle Werte einzeln
$query = "SELECT AVG(data) AS data, timestamp, id, sensor FROM `sensor_daten` WHERE sensor = 'xyz' AND DATE_SUB(timestamp,INTERVAL 1 HOUR) AND timestamp > DATE_SUB(NOW(), INTERVAL 72 HOUR) GROUP BY HOUR(timestamp)";
Woran kann das liegen? Weiß jemand Rat?
ich habe mich ein einfaches php-Script zur Datenbankabfrage geschrieben, welches Sensor-Werte mittels Charts ausgibt.
Dabei habe ich 2 x Möglichkeiten geschaffen:
1. alle Werte einzel angezeigt zu bekommen
2. einen stündlichen Durchschnitt mittels AVG errechnen und ausgeben
Optisch sehen die 2 x Charts dann auch genau so aus wie sie sollen, allerdings scheinen die Sensor-Werte nicht zu stimmen.
Während sich bei der Möglichkeit 1 der Chart zwischen 27% und 387% bewegt, bewegt er sich bei Möglichkeit 2 nur zwischen 50% und 262%
Und ich verstehe nicht warum, ich kann mir nur ein Fehler in der SQL Abfrage vorstellen.
Hier erstmal der Chart mit den einzelnen Werten
dann der Chart mit der stündlichen Zusammenfassung
zu guter Letzt hier der PHP Code mit der SQL Abfrage
Möglichkeit 1, alle Werte einzeln
$query = "SELECT * FROM `sensor_daten` WHERE sensor = 'xyz' AND timestamp > DATE_SUB(NOW(), INTERVAL 72 HOUR)";
Möglichkeit 2, werte stündlich zusammengefasst
$query = "SELECT AVG(data) AS data, timestamp, id, sensor FROM `sensor_daten` WHERE sensor = 'xyz' AND DATE_SUB(timestamp,INTERVAL 1 HOUR) AND timestamp > DATE_SUB(NOW(), INTERVAL 72 HOUR) GROUP BY HOUR(timestamp)";
Woran kann das liegen? Weiß jemand Rat?