Seite 1 von 1

Daten der letzten 24h aus der Datenbank auslesen!?

Verfasst: 19.01.2004 16:05
von Tekknotrip
Hallo,

Daten liegen im folgenden Format vor:

7.01.2004; 16:45;3,7;90;OK;23,1;42;OK;0;6;OK;0;220;0;OK;1006;OK;0,284;OK; 0:00 ;8;OK

und das über sehr viele datensätze.
Ich möchte nun einen Graph erstellen von den letzen 24 Stunden (nicht Istzeit, sondern vom letzten Stand in der DB in diesem Fall also z.B.:

7.01.2004; 16:45;

von diesen Zeitpunkt, der angenommen der letzte Stand in der DB ist, möchte ich nun 24h zurück?

Kennt dazu jemand den MySQL Befehl?

Danke!
Gruss, Micha

Verfasst: 19.01.2004 18:57
von Pyramide
Ich hoffe ich habe deine Frage richtig verstanden:

Code: Alles auswählen

SELECT ... FROM tabelle WHERE datumsfeld BETWEEN adddate(datumswert, INTERVAL -1 DAY) AND datumswert)
datumswert musst du dann vorher mit SELECT max(...) ermitteln. Ab MySQL 4.1 kannst du auch direkt einen Subquery eintragen:

Code: Alles auswählen

SELECT ... FROM tabelle WHERE datumsfeld BETWEEN adddate((SELECT max(datumsfeld) FROM tabelle), INTERVAL -1 DAY) AND (SELECT max(datumsfeld) FROM tabelle)

Verfasst: 20.01.2004 16:19
von Tekknotrip
Danke für die Antwort, aber ich habe etwas vergessen:
Das datum Feld hat nicht den Typ Datum, sondern varchar, weil es nicht konform mit dem DATE Typ ist

23.12.2003
24.12.2003

etc.

MySQL will ja aber
2003-12-23


Aber eine andere Lösungsmöglichkeit:

Wie sieht es aus mit dem LIMIT 0

Limit 0, fängt er dann an von hinten zu lesen?
DESC geht in dem Fall nicht, da es auch Uhrzeitabhängig ist (der gemessene Wert würde dann rückwärts zur Uhrzeit laufen)


Die Daten kommen im 15 Minuten Takt, also hat 1 tag = 24 Stunden = 96 Zeilen in der DB.

Mein Ansatz ist nun der, dass ich die Tabelle von hinten auslese und zwar die letzten 96 zeilen (LIMIT 0,96 liefert aber nicht das gewünschte Ergebnis)

Für nochmalige Hilfe wäre ich dankbar.

Beispiel:
http://www.wetterforum.com/jpgraph/test.php
(bin aber grad beim experimentieren :-))