Skip to main content

LAG

Categories: Window

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 (optional): 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 (optional): 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 Samples."samples.dremio.com"."SF_incidents2016.json"
-- Category, Descript, DayOfWeek, EXPR$3
-- ARSON, ARSON, Friday, null
-- ARSON, ARSON, Friday, Friday