I have a table where messages are stored as they happen. Usually there is a message 'A' and sometimes the A's are separated by a single message 'B'. Now I want to group the values so I'm able to analyze them, for example finding longest 'A'-streak or distribution of 'A'-streaks.
I already tried a COUNT-OVER query but that keeps on counting for each message.
SELECT message, COUNT(*) OVER (ORDER BY Timestamp RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
This is my example data:
Timestamp Message
20150329 00:00 A
20150329 00:01 A
20150329 00:02 B
20150329 00:03 A
20150329 00:04 A
20150329 00:05 A
20150329 00:06 B
I want following output
Message COUNT
A 2
B 1
A 3
B 1