LEAD(expr [, N[, default]]) [null_treatment] over_clause
Returns the value of expr from the row that leads (follows) the current
row by N rows within its partition. If there is no such row, the return
value is default. For example, if N is 3, the return value is default
for the last two rows. If N or default are missing, the defaults are 1
and NULL, respectively.
N must be a literal nonnegative integer. If N is 0, expr is evaluated
for the current row.
Beginning with MySQL 8.0.22, N cannot be NULL. In addition, it must now
be an integer in the range 1 to 263, inclusive, in any of the following
o an unsigned integer constant literal
o a positional parameter marker (?)
o a user-defined variable
o a local variable in a stored routine
over_clause is as described in
null_treatment is as described in the section introduction.
For an example, see the LAG() function description.