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.