GROUP BY für fortlaufende Zeilen in SQL
Ausgehend von der folgenden Tabelle:
ID State Date 12 1 2009-07-16 10:00 45 2 2009-07-16 13:00 67 2 2009-07-16 14:40 77 1 2009-07-16 15:00 89 1 2009-07-16 15:30 99 1 2009-07-16 16:00
Frage:
Wie kann ich nach dem Feld "Status" GRUPPIEREN, während die Grenzen zwischen den Statusänderungen beibehalten werden?
SELECT MIN(ID) AS ID, State, MIN(Date) AS Date, COUNT(ID) AS Count
FROM table GROUP BY State
führt zu folgenden Ergebnissen:
ID State Date Count 12 1 2009-07-16 10:00 4 45 2 2009-07-16 13:00 2
aber das wird erwartet:
ID State Date Count 12 1 2009-07-16 10:00 1 45 2 2009-07-16 13:00 2 77 1 2009-07-16 15:00 3
Ist das in SQL möglich? Bisher habe ich keine Lösung gefunden ...