LAG

Returns the row before the current one in a partition based on the ORDER BY clause without the need for a self-join. If there are no rows, this function returns NULL.

Syntax

LAG(expression, [offset]) OVER ([PARTITION BY partition_expression] [ORDER BY order_expression]) → same as input type

  • expression: An expression that is returned.

  • offset: An optional parameter. The number of rows before the current row from which to obtain a value. Supports only a value of 1.

  • partition_expression: An optional expression that groups rows into partitions.

  • order_expression: An optional expression that specifies the order of the rows within each partition.

Examples

LAG example
SELECT "Category", 
  "Descript", 
  "DayOfWeek",
  LAG(DayOfWeek, 1) 
    OVER (
      PARTITION BY "Category" 
      ORDER BY "DayOfWeek")
FROM  eth.recent_blocks 

-- Category, Descript, DayOfWeek, EXPR$3
-- ARSON, ARSON, Friday, null 
-- ARSON, ARSON, Friday, Friday

Last updated