Exercise 06
Sessionize
Product wants to know how many distinct sessions each user has. Definition: a session is a run of events with less than 30 minutes between consecutive events. A gap of 30 minutes or more starts a new session.
Table: session_events(id, user_id, event_time).
Label each row with `session_id` (1-indexed per user) so events in the same session share a `session_id`. Return `user_id, event_time, session_id` ordered by `user_id, event_time`.