mehrfach zwischen 2 festen Werten wechseln
FotoManie
- datenbank
Das Problem
Eine Tabelle mit unter anderem den Spalten Datum und Status
ein Auschnitt sähe so aus:
Datum / Status
-------------------------
2008-11-11 12:00:00 / 102
2008-11-11 13:00:00 / 102
2008-11-11 14:00:00 / 103
2008-11-11 15:00:00 / 103
2008-11-11 16:00:00 / 102
2008-11-11 17:00:00 / 102
2008-11-11 18:00:00 / 102
2008-11-11 19:00:00 / 103
-------------------------
Was muss ich abfragen um nur je den Datensatz zu bekommen, an dem der Status wechselt? Also nicht einen sondern die gesamten Wechsel...
Das Ergebnis des Beispiels sollte also ergeben:
Datum / Status
-------------------------
2008-11-11 12:00:00 / 102
2008-11-11 14:00:00 / 103
2008-11-11 16:00:00 / 102
2008-11-11 19:00:00 / 103
-------------------------
Im Moment lese ich alle ein (mysql -> python script)
Dann laufe ich in einer Schleife durch die Einträge und übernehme nur jeweils den, an dem der Status auf einen abweichenden Wert zum Vorgänger wechselt.
Das kann aber nicht die endgültige Lösung sein.
Wie muss das sql-statement hierzu aussehen? geht das überhaupt?
Jemand ne Idee?
lg manfred
Moin
Versuch mal die Abfrage mit
SELECT DISTINCT(Status),Datum FROM Tabelle
oder per
GROUP BY
sollte es auch funktionieren. Natürlich noch per
SORT BY Datum
sortieren und dann solltest du die gewünschten Ergebnisse erhalten.
Gruß Bobby
Moin
Versuch mal die Abfrage mit
SELECT DISTINCT(Status),Datum FROM Tabelle
oder per
GROUP BY
sollte es auch funktionieren. Natürlich noch per
SORT BY Datum
sortieren und dann solltest du die gewünschten Ergebnisse erhalten.Gruß Bobby
bei distinct bekomme ich je ein einziges mal die 102 und 103 zu einem datumswert. da die zeitlich auseinader liegen ändert sich hier nichts.
die tabelle bleibt wie gehabt, da jede dieser kombinationen einmalig vorkommt.
bei group by gibts je einmal den statuswert und ein dazugehöriges datum.
so einfach ist es leider nicht.
haben schon einiges probiert.
yo,
Was muss ich abfragen um nur je den Datensatz zu bekommen, an dem der Status wechselt? Also nicht einen sondern die gesamten Wechsel...
geht mit unterabfragen, mysql unterstützt diese aber erst seit 4.1 und höher. desween wäre es interessant zu wissen, welche version dein server hat. mich wundert ein wenig der erste eintrag in deiner ergebnisliste, weil dort kein wechsel stattgefunden hat, er einfach nur der "jüngste" datensatz ist.
Ilja