Hallo und guten Morgen!
Ich habe eine Tabelle mit 1440 Datensätzen.
Jeder hat einen Zeitstempel.
Jede Minute, 24 Stunden ein Eintrag.
Jetzt möchte ich für jede Stunde der letzten 24 Stunden den höchsten Wert einer Spalte ermitteln.
Das Datum liegt in der Form 2008-01-20 01:30 vor.
Die Daten der Spalte "Daten" liegen in der Form 0.000, 2.256, 8.557 ... vor.
Das ganze dient statistischen Zwecken.
Mein Gedankengang ist jetzt eine Schleife zu schreiben die 24 mal durchlaufen wird, das aktuelle Datum "n" zu ermitteln, davon den Schleifendurchlauf abziehn.
Dann den höchsten Wert der Datensätze von n bis n+1 ermittelt und in ein Array schreiben.
<?PHP
$arr = array();
for($i=24; $i > 0; $i--){
$starttime = date("Y-m-d H:i", time()-60*60*$i);
$sql = "SELECT * FROM table WHERE Datum > '".$starttime."' ORDER BY Daten DESC LIMIT 1";
$query = mysql_query($sql);
$fetch = mysql_fetch_assoc($query);
array_push($arr, $fetch['Daten']);
}
echo '<pre>';
print_r($arr);
echo '</pre>';
?>
Das Ganze erscheint mir aber irgendwie umständlich.
Geht das auch in einem Statement und ohne Schleife?
Danke und Grüße, Matze