lead analytic window function

Applies to: check marked yes Databricks SQL check marked yes Databricks Runtime

Returns the value of expr from a subsequent row within the partition.


lead(expr [, offset [, default] ] )


  • expr: An expression of any type.

  • offset: An optional INTEGER literal specifying the offset.

  • default: An expression of the same type as expr.


The result type matches expr.

If offset is positive the value originates from the row following the current row by offset specified the ORDER BY in the OVER clause. An offset of 0 uses the current row’s value. A negative offset uses the value from a row preceding the current row. If you do not specify offset it defaults to 1, the immediately preceding row.

If there is no row at the specified offset within the partition the specified default is used. The default default is NULL. An ORDER BY clause must be provided.

This function is a synonym to lag(expr, -offset, default).


> SELECT a, b, lead(b) OVER (PARTITION BY a ORDER BY b) FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   1
 A1 1   2
 A1 2   NULL
 A2 3   NULL