Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Unterschiedliche Werte bei Abfrage mit AVG und ohne
Aber wenn ich schreibe "SELECT EXTRACT(DAY_HOUR from timestamp) as ts, avg(data) as value, sensor FROM ...." bekomme ich dann als "ts"-Daten auch ein Datum+Uhrzeit zurück?
Wenn Du um 10:00, 10:20, 10:40 eine Messung machst mit Resultat 10, 20 und 30, dann ist der avg() darüber in dieser Stunde 10:00 - 11:00 halt 20. Welchen Timestamp welcher Messung willst Du da haben? Das ergibt keinen Sinn.
Am liebsten den Timestamp der ersten Messung.
Bei deinem Beispiel wäre der gewünschte Timestamp dann 10.00 + das entsprechende Datum.
Wären die Messung um 10.07, 10.33 und 10.51 dann würde ich als Timestamp gerne 10.07 Uhr haben, oder wenn das nicht geht als Timestamp den Beginn der zusammengefassten Messung.
Bei DAY_HOUR wäre das dann eben 10.00 + Datum, 11.00 + Datum, 12.00 + Datum .... usw...
Wichtig wäre mir aber noch zu wissen ob das GROUP BY sensor jetzt richtig ist und es das Problem behebt das der Durchschnitt über alle Sensoren berechnet wird.
"SELECT min(timestamp) as ts, avg(data) as value, sensor FROM `sensor_data_moisture` WHERE sensor = 'jc5' AND timestamp > DATE_SUB(NOW(), INTERVAL 72 HOUR) GROUP BY sensor, EXTRACT(DAY_HOUR from timestamp) ORDER BY 1 ASC"
jetzt alles richtig?
Oder muss ich den Abschnitt "extract(hour from timestamp)" zwingend mit einbauen, auch wenn ich diese Spalte später nicht brauche?
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
Diese Seite verwendet Cookies, um Inhalte zu personalisieren und dich nach einem Login angemeldet zu halten, wenn du registriert bist.
Durch die weitere Nutzung unserer Webseite erklärst du dich damit einverstanden.