SQL LAG and LEAD
Compare a row with the previous or next event.
What this solves
Measure time between consecutive scans. This pattern is useful when the business question is clear but a generic tutorial is too abstract.
The rule
LAG reads a prior row inside a window without a self join.
SELECT EventTime, LAG(EventTime) OVER(ORDER BY EventTime) PrevTime
FROM Events;Real-work checklist
- Define the business key and expected grain before writing the formula, query or markup.
- Test the pattern on a small known sample where you can verify the answer manually.
- Check missing values, duplicates and data types before trusting a large result.
- Scale to the real file or database only after the logic is proven.
Common mistake
Define PARTITION BY when separate machines or orders must not influence each other.