GROUP BY para linhas contínuas no SQL
Dada a seguinte tabela:
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
Questão:
Como posso GROUP pelo campo "Estado", mantendo as fronteiras entre as mudanças de estado?
SELECT MIN(ID) AS ID, State, MIN(Date) AS Date, COUNT(ID) AS Count
FROM table GROUP BY State
resulta no seguinte:
ID State Date Count 12 1 2009-07-16 10:00 4 45 2 2009-07-16 13:00 2
mas isso é esperado:
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
Isso é possível no SQL? Eu não encontrei uma solução até agora ...