Я должен решить эту проблему в рамках BigQuery. У меня есть этот столбец в моей таблице:
event | time
_________________|____________________
start | 1
end | 2
random_event_X | 3
start | 4
error_X | 5
error_Y | 6
end | 7
start | 8
error_F | 9
start | 10
random_event_Y | 11
error_z | 12
end | 13
Я хотел бы, начиная с записи события end
все, пока не появится start
, а затем посчитать его. Все может случиться между началом и концом и вне его. Если есть конец, есть начало, , но если есть начало, это не обязательно конец.
Выход желания будет выглядеть так:
string_agg | count
"start, end" | 1
"start, error_X, error_Y, end" | 1
"start, random_event_Y error_Z, end" | 1
Так что все между каждым началом и концом, если start
имеет end
. Поэтому без random_event_X
во время 3, start
во время 8 или error_F
во время 9.
Я не смог найти решение и не смог понять, как подойти к этой проблеме. Любая помощь или совет приветствуются.