GROUP BY para filas continuas en SQL
Dada la siguiente tabla:
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
Pregunta:
¿Cómo puedo agrupar por el campo "Estado", mientras se mantienen los límites entre los cambios de estado?
SELECT MIN(ID) AS ID, State, MIN(Date) AS Date, COUNT(ID) AS Count
FROM table GROUP BY State
resultados en lo siguiente:
ID State Date Count 12 1 2009-07-16 10:00 4 45 2 2009-07-16 13:00 2
pero esto se espera:
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
¿Es esto posible en SQL? No encontré una solución hasta ahora ...