21. 세션 유지 시간을 10분으로 재정의하기
2024-12-24
SELECT user_pseudo_id
, event_timestamp_kst
, event_name
, ga_session_id
, SUM(CASE WHEN CAST(strftime('%s', event_timestamp_kst) AS INTEGER) - CAST(strftime('%s', last_log) AS INTEGER) >= 600 THEN 1 ELSE 0 END)OVER(
ORDER BY event_timestamp_kst
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) +1 AS new_session_id
FROM (
SELECT COALESCE(LAG(event_timestamp_kst)OVER(ORDER BY event_timestamp_kst), event_timestamp_kst) last_log
, *
FROM ga
WHERE user_pseudo_id = 'a8Xu9GO6TB'
ORDER BY event_timestamp_kst
) a