Hallo,
ich bin gerade dabei ein Programm zu schreiben, welches auf eine SQL-Datenbank zugreift. Es funktioniert auch alles, nur leider werden soviele Queries erzeugt, dass die Geschwindigkeit schon ziemlich leidet.
Das Programm soll aus einer Tabelle die aussieht wie folgt:
timestamp | wert
1 | 20
2 | 30
3 | 10
4 | 40
5 | 30
6 | 200
usw.

immer z.B. die ersten 5 Werte zusammenfassen d.h. aus diesen Werten den maximalen Wert nehmen, so dass die Tabelle so aussieht:

1 | 40
usw.

Nun soll es aus diesen resultierenden Werten den Durchschnitt bei gegebener timestamp bilden. So dass, wenn ich z.B. den Durchschnitt fuer timestamp 5 anfordere mit einem Intervall von 3, der Wert von 5,4,3 genommen wird, alles addiert wird, durch 3 geteilt und zurueckgeliefert.

Puuuh ich hoffe ich hab mich bis jetzt einigermassen verständlich ausgedrückt

Ich habe das ganze nun so programmiert:

PHP-Code:
fasseimmer5Wertezusammen(timestamp)
{
     
query:hole 5 werte und ermittle das maximum
     
return maximalwert
}

ermittledenDurchschnitt(timestampintervall)
{
     for(
int i=timestamp-intervalli<=timestampi++)
     {
           
ergebnis+=fasseimmer5Wertezusammen(i)
     }
   return 
ergebnis/i

Wie ihr euch vorstellen koennt braucht das ganze queries ohne Ende und laeuft grotten-langsam.
Nun meine eigentliche Frage: kann man das "5-werte zusammenfassen" und "aus mehreren dieser 5er-Werte den Durschnitt bilden" nicht in eine einzige Query verpacken?

Hoffe ich hab mich klar genug ausgedrückt, dass mit jemand helfen kann auf jedenfall vielen Dank schonmal...