T
tuxedo
Gast
Hallo zusammen ...
ich hab hier eine DB die im 5min Takt mit Temperatur- und anderen Werten gefüllt wird. Das Schema ist sehr einfach:
Diese Daten sollen in einer Grafik (Line-Plot) angezeigt werden.
Wenn ich jetzt z.B. die letzten 7 Tage anzeigen will, dann hab ich 2016 Datensätze/Zeilen aus der DB.
Die Grafik hat aber nur 504px in der Breite (hab jetzt al absichtlich passende Zahlen genommen damit man schöner rechnen kann). Wenn ich jetzt die 2016 Werte auf die 504px breite verteile, wird die Grafik etwas hässlich: Ich hätte pro Pixel 4 Werte.
Ich könnte das programmatisch lösen: Über die Daten iterieren und je 4 Werte zusammenfassen und Durchschnitt bilden. Damit würde ich die 2016 Werte auf 504 Werte reduzieren, was zur Grafik passen würde.
Würde das aber am liebsten über die DB regeln.
Deshalb die Frage:
Gibt es eine Möglichkeit via SQL (speziell MySQL) Werte zusammenzufassen und daraus einen durchschnitt zu bilden um somit die Anzahl der Ergebniszeilen (in diesem Beispiel) von 2016 auf 504 zu reduzieren?
Gegoogelt hab ich schon. Aber ich weiß nicht so recht nach was ich suchen soll. Hab bis dato nur Statements gefunden mit denen man jede n-te Zeile aus der DB ausließt. Aber damit würde ich das Ergebnis in der Grafik ja verfälschen...
Gruß
Alex
ich hab hier eine DB die im 5min Takt mit Temperatur- und anderen Werten gefüllt wird. Das Schema ist sehr einfach:
Code:
ID | Timestamp | Wert1 | Wert2 | Wert3 | ... | Wert_n
Diese Daten sollen in einer Grafik (Line-Plot) angezeigt werden.
Wenn ich jetzt z.B. die letzten 7 Tage anzeigen will, dann hab ich 2016 Datensätze/Zeilen aus der DB.
Die Grafik hat aber nur 504px in der Breite (hab jetzt al absichtlich passende Zahlen genommen damit man schöner rechnen kann). Wenn ich jetzt die 2016 Werte auf die 504px breite verteile, wird die Grafik etwas hässlich: Ich hätte pro Pixel 4 Werte.
Ich könnte das programmatisch lösen: Über die Daten iterieren und je 4 Werte zusammenfassen und Durchschnitt bilden. Damit würde ich die 2016 Werte auf 504 Werte reduzieren, was zur Grafik passen würde.
Würde das aber am liebsten über die DB regeln.
Deshalb die Frage:
Gibt es eine Möglichkeit via SQL (speziell MySQL) Werte zusammenzufassen und daraus einen durchschnitt zu bilden um somit die Anzahl der Ergebniszeilen (in diesem Beispiel) von 2016 auf 504 zu reduzieren?
Gegoogelt hab ich schon. Aber ich weiß nicht so recht nach was ich suchen soll. Hab bis dato nur Statements gefunden mit denen man jede n-te Zeile aus der DB ausließt. Aber damit würde ich das Ergebnis in der Grafik ja verfälschen...
Gruß
Alex