ML Vault
All notes

LAG and LEAD

SELECT LAG(column, 1) OVER (PARTITION BY ... ORDER BY ... ROWS/RANGE BETWEEN ...) AS lag_value
FROM table

SELECT LEAD(column, 1) OVER (PARTITION BY ... ORDER BY ... ROWS/RANGE BETWEEN ...) AS lead_value
FROM table

В качестве первого аргумента у функций LAG и LEAD указывается колонка со значениями, в качестве второго — то, на какое число строк производить смещение (назад и вперёд соответственно). Второй аргумент можно не указывать, по умолчанию его значение равно 1.