Daten der letzten 24h aus der Datenbank auslesen!?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

Daten der letzten 24h aus der Datenbank auslesen!?

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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)
Tekknotrip
Mitglied
Beiträge: 205
Registriert: 18.03.2003 16:17
Wohnort: Esslingen
Kontaktdaten:

Beitrag 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 :-))
Antworten

Zurück zu „Coding & Technik“