ahnungslos
Neuer Benutzer
- Beiträge
- 1
Moin!
Vorab - bin noch recht frisch, was DB angeht.
Ich habe eine MySQL 8.0.30 DB in der ich jede Sekunde unterschiedliche Messwerte speicher.
Um die Werte über einen längeren Zeitraum vergleichen zu können, will ich zB Tagesdurchschnitt (00:00-23:59), Wochendurchschnitt (Montag 00:00 - Sonntag 23:59) etc. in jeweils einer separaten Tabelle hinterlegen.
Kurz zu meiner Struktur:
DB: "datalog" mit den zwei Tabellen "daily_avg" und "logging"
-logging
create_time--| Leistung_Gesamt | ....
timestamp---| float------------- | float...
-daily_avg
dateavg-----| avg_leistung_gesamt
timestamp--| float
Bei meiner Recherche habe ich dann eine ähnliche Fragestellung gefunden und das Event auf meinen Fall angepasst:
Resultat ist dann das (heute um 14 Uhr)
-dailyavg
Meine Frage:
Was habe ich falsch gemacht, dass da kein Durchschnittswert und 2Uhr Nachts steht?
Schon mal Danke im Voraus!
Vorab - bin noch recht frisch, was DB angeht.
Ich habe eine MySQL 8.0.30 DB in der ich jede Sekunde unterschiedliche Messwerte speicher.
Um die Werte über einen längeren Zeitraum vergleichen zu können, will ich zB Tagesdurchschnitt (00:00-23:59), Wochendurchschnitt (Montag 00:00 - Sonntag 23:59) etc. in jeweils einer separaten Tabelle hinterlegen.
Kurz zu meiner Struktur:
DB: "datalog" mit den zwei Tabellen "daily_avg" und "logging"
-logging
create_time--| Leistung_Gesamt | ....
timestamp---| float------------- | float...
-daily_avg
dateavg-----| avg_leistung_gesamt
timestamp--| float
Bei meiner Recherche habe ich dann eine ähnliche Fragestellung gefunden und das Event auf meinen Fall angepasst:
Code:
SELECT * FROM datalog.logging;
SET GLOBAL event_scheduler = ON;
CREATE EVENT st_leistung_avg_V3
on schedule AT current_timestamp() + interval + 1 Hour
DO
INSERT INTO `daily_avg`
(`dateavg`, `avg_leistung_gesamt`)
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %h:00:00') , avg(`Leistung_Gesamt`)
FROM `logging`
WHERE
`create_time` BETWEEN DATE_FORMAT(NOW() - INTERVAL 1 HOUR, '%Y-%m-%d %h:00:01') AND DATE_FORMAT(NOW(), '%Y-%m-%d %h:00:00');
show events
Resultat ist dann das (heute um 14 Uhr)
-dailyavg
Code:
dateavg | avg_leistung_gesamt
---------------------+--------------------
2022-10-17 02:00:00 | NULL
Meine Frage:
Was habe ich falsch gemacht, dass da kein Durchschnittswert und 2Uhr Nachts steht?
Schon mal Danke im Voraus!
Zuletzt bearbeitet: