У меня есть таблица со следующей схемой.
Date Time Event_Type
2018-02-12 02:32:00 AM Session_Start
2018-02-12 03:15:00 AM event
2018-02-12 04:05:00 AM Session_Start
2018-02-12 10:10:00 AM event
2018-02-12 10:15:00 AM event
2018-02-12 10:25:00 AM event
2018-02-13 02:32:00 PM Session_Start
2018-02-13 03:15:00 PM event
2018-02-13 04:05:00 AM Session_Start
Я хочу рассчитать время, которое пользователь проводит во время определенного сеанса.Таким образом, продолжительность сеанса находится между Session_start и последним событием перед следующим Session_Start.
Я думал о том, чтобы поместить Session_Start в группу, используя следующую команду:
WITH grps AS (
SELECT Date, Time, Event_Type,
COUNTIF(Event_Type = 'Session_Start') OVER(PARTITION BY Date ORDER BY Time) grp
FROM `project.events`
)
Но это кажется бесполезнымесли я не найду способ добраться до события до session_start.У кого-нибудь есть идеи, что можно сделать в этом случае?