Группировка по последовательности строк

У меня есть таблица заказов со столбцом, указывающим, является ли это покупкой или продажей, со строками, обычно упорядоченными по метке времени. То, что я хотел бы сделать, это работать с группами последовательных покупок плюс их продажа. напримерB B S B S B B S -> (B B S) (B S) (B B S)

Пример:

order_action |      timestamp      
-------------+---------------------
buy          | 2013-10-03 13:03:02
buy          | 2013-10-08 13:03:02
sell         | 2013-10-10 15:58:02
buy          | 2013-11-01 09:30:02
buy          | 2013-11-01 14:03:02
sell         | 2013-11-07 10:34:02
buy          | 2013-12-03 15:46:02
sell         | 2013-12-09 16:00:03
buy          | 2013-12-11 13:02:02
sell         | 2013-12-18 15:59:03

В конце я буду запускать функцию агрегирования (группы таковы, что я могу исключить всю группу на основе ее заказа на продажу), поэтомуGROUP BY или разделенные окна выглядели как правильный путь, но я не могу понять, как получить эту конкретную группу.

Ответы на вопрос(3)

Ваш ответ на вопрос