LEAD is a window function that accesses a value from a following row within an ordered window.
Future-value comparisons are useful for forecasting, scheduling, event analysis, and detecting changes between sequential records.
Display each customer's current order date and their next order date.
SELECT
c.CustomerName,
o.OrderDate,
LEAD(o.OrderDate) OVER (
PARTITION BY o.CustomerID
ORDER BY o.OrderDate
) AS NextOrderDate
FROM Customers c
INNER JOIN Orders o
ON c.CustomerID = o.CustomerID;
Used in customer behavior analysis, event sequences, scheduling, and time-series reporting.
- LEAD accesses a following row.
- ORDER BY defines the sequence.
- PARTITION BY separates business entities.
- The final row in a group may have NULL.
- LEAD is useful for future-event analysis.
What does LEAD do?
LEAD returns a value from a following row within an ordered window.
Where can LEAD be useful?
It can be useful for finding the next transaction, next event, or next activity for an entity.