WulfmanGER
Commander
- Registriert
- Juli 2005
- Beiträge
- 2.298
Hallo,
folgende Tabelle:
ich benötige jetzt eine Möglichkeit (mySQL) die sich timestamp anschaut und mir den aktuellsten Wert je TAG anzeigt.
Bei der Tabelle oben würde die Wunschabfrage also ausgeben
17 Uhr ist aktueller als 10:11 Uhr
Am Ende möchte ich hier einen Verlauf Zeichnen (uff - das wird noch spannend - keine Ahnung G) wo ich aber die "Zwischenwerte" je Tag nicht brauche.
Alternative Optionen:
1) Beim erfassen (PHP) könnte ich prüfen ob es für den TAG schon einen Eintrag gibt und diesen überschreiben -> ich möchte bewusst diese Werte mit erfassen - daher fällt das weg
2) Im nachhinein könnte ich per Script prüfen ob ein YYYY-MM-DD doppelt existiert und alle löschen ausser den aktuellsten -> wie gesagt: ich möchte diese Werte erfassen.
3) Wenn ich die Werte graphisch ausgebe, läuft das eh durch PHP ... in dem Step könnte ich jeden Eintrag entsprechend prüfen. Wenn das per mySQL nicht geht, würde ich wohl dazu übergehen - das bekomme ich dann alleine hin
Was der sache nahe kommt:
Problem ist ... was ist mit WERT ... mit * oder Wert, bekomme ich den nicht angezeigt - Fehlermeldung. Ich nehme mal an das SQL hier ein Problem damit zu haben sich für eine Timestamp-Zeile zu entscheiden. Also müsste da noch irgendwie irgendwas in die Abfrage rein
Danke schon mal
EDIT: irgendwo gibt es immer jemanden der das gleiche Luxusproblem wie man selber hat - nur das finden ist immer etwas tricky ... lange gesucht, nichts gefunden, kaum gepostet, endlich gefunden ...
folgende Tabelle:
Code:
Wert timestamp (typ: datetime)
234 2019-03-25 12:12:12
234 2019-03-26 10:00:00
240 2019-04-01 10:11:43
241 2019-04-01 17:00:00
ich benötige jetzt eine Möglichkeit (mySQL) die sich timestamp anschaut und mir den aktuellsten Wert je TAG anzeigt.
Bei der Tabelle oben würde die Wunschabfrage also ausgeben
Code:
Wert timestamp
234 2019-03-25 12:12:12
234 2019-03-26 10:00:00
241 2019-04-01 17:00:00
Am Ende möchte ich hier einen Verlauf Zeichnen (uff - das wird noch spannend - keine Ahnung G) wo ich aber die "Zwischenwerte" je Tag nicht brauche.
Alternative Optionen:
2) Im nachhinein könnte ich per Script prüfen ob ein YYYY-MM-DD doppelt existiert und alle löschen ausser den aktuellsten -> wie gesagt: ich möchte diese Werte erfassen.
3) Wenn ich die Werte graphisch ausgebe, läuft das eh durch PHP ... in dem Step könnte ich jeden Eintrag entsprechend prüfen. Wenn das per mySQL nicht geht, würde ich wohl dazu übergehen - das bekomme ich dann alleine hin
Was der sache nahe kommt:
Code:
SELECT DISTINCT(DATE(timestamp)) FROM history
Problem ist ... was ist mit WERT ... mit * oder Wert, bekomme ich den nicht angezeigt - Fehlermeldung. Ich nehme mal an das SQL hier ein Problem damit zu haben sich für eine Timestamp-Zeile zu entscheiden. Also müsste da noch irgendwie irgendwas in die Abfrage rein
Danke schon mal
EDIT: irgendwo gibt es immer jemanden der das gleiche Luxusproblem wie man selber hat - nur das finden ist immer etwas tricky ... lange gesucht, nichts gefunden, kaum gepostet, endlich gefunden ...
Code:
SELECT
H.*
FROM history H
INNER JOIN
(
SELECT
MAX(timestamp) max_time
FROM history
GROUP BY Date(timestamp)
) AS t
ON H.timestamp = t.max_time
Zuletzt bearbeitet:
(Lösung selber gefunden :))