Join the MemSQL Community Today
Get expert advice, develop skills, and connect with others.

LEAD

Value function. Returns an expression evaluated at some offset after the current row. If there is no such row returns NULL instead.

Syntax

LEAD ( expression [, offset]) OVER (
    [PARTITION BY (col | expr), ...] 
    [ORDER BY (col | expr), ...]
)

Arguments

  • expression: any expression. This may be a column name, the result of another function, or a math operation
  • offset: A constant integer which specifies the number of rows after the current row to evaluate the expression. Defaults to 1 if not specified

Return Type

The result of expression

Examples

memsql> create table example (a int, b int);

memsql> insert into example values(1,2),(2,2),(3,3),(4,3);

memsql> select a,lead(a) over(order by (a)) from example;
+------+----------------------------+
| a    | lead(a) over(order by (a)) |
+------+----------------------------+
|    1 |                          2 |
|    2 |                          3 |
|    3 |                          4 |
|    4 |                       NULL |
+------+----------------------------+

memsql> select a,lead(a,2) over(order by (a)) from example;
+------+------------------------------+
| a    | lead(a,2) over(order by (a)) |
+------+------------------------------+
|    1 |                            3 |
|    2 |                            4 |
|    3 |                         NULL |
|    4 |                         NULL |
+------+------------------------------+