CODE WORKSPACE

Deterministic event sequence

Return user_id, event_id, event_name, event_time, and event_sequence: a per-user sequence number ordered deterministically. Order by user_id, event_sequence.

ROW_NUMBER partitioned by user_id, ordered by event_time, then ingested_at, then event_id.

Sample input

eventsOrder by event_time, then ingested_at, then event_id so ties are deterministic.
event_iduser_idevent_nameevent_time
11view2026-01-01 03:30:00
21checkout2026-01-01 04:10:00
61refund2026-01-03 18:00:00
32view2026-01-01 22:15:00
42checkout2026-01-02 00:30:00
53view2026-01-02 05:00:00

Expected output

Expected outputA per-user sequence number that restarts at 1 for each user.
user_idevent_idevent_nameevent_timeevent_sequence
11view2026-01-01 03:30:001
12checkout2026-01-01 04:10:002
16refund2026-01-03 18:00:003
23view2026-01-01 22:15:001
24checkout2026-01-02 00:30:002
35view2026-01-02 05:00:001

Constraints

Use ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_time, ingested_at, event_id) so ties are broken deterministically. Order by user_id, event_sequence.

Expected skills

Deterministic ordering with tie-breakers and per-entity sequencing.

SQL
Loading...

AI evaluation

Run the SQL query to inspect preview rows.