Last active
September 29, 2021 17:52
-
-
Save peacing/c3bc6d83fca8ae6a117a98c05647e850 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
create table user_sessions | |
USING DELTA AS | |
( select user_id, event_date, event_action, | |
SUM(is_new_session) OVER (ORDER BY user_id, event_date) AS global_session_id, | |
SUM(is_new_session) OVER (PARTITION BY user_id ORDER BY event_date) AS user_session_id | |
FROM | |
( select *, | |
CASE WHEN unix_timestamp(event_date) - unix_timestamp(last_event) >= (24*60*60) OR | |
last_event is NULL THEN 1 ELSE 0 END AS is_new_session | |
from ( | |
select *, lag(event_date,1) OVER (PARTITION BY user_id ORDER BY event_date) as last_event from events | |
) last | |
) final | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment