Section: Time-series patterns

Detect gaps between events

sql
sql
SELECT user_id,
       event_time,
       event_time - LAG(event_time) OVER (
         PARTITION BY user_id
         ORDER BY event_time
       ) AS time_since_prev
FROM user_events;
Explanation

The exact subtraction syntax varies by dialect, but the window pattern stays the same.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Time-series patterns
Day-over-day absolute change
Subtract the previous day's value.
OpenIn sheetsqlsame section
Day-over-day percent change
Compute relative change versus previous row.
OpenIn sheetsqlsame section
Preview next billing date or status
Use LEAD for forward state checks.
OpenIn sheetsqlsame section
Previous row with LAG
Pull the previous value in order.
Next row with LEAD
Preview the next value in sequence.
Provide a LAG default value
Avoid NULL on the first row.