Вычитание значений, находящихся в одном столбце таблицы КликХауса

Подскажите, пожалуйста, существует ли в КликХаусе функционал для вычитания дат/чисел в одном столбце? То есть, значения вычитаются в построчном порядке.

Например, имея таблицу вида:

| Год  |
|------|
|2000  | 
|2005  | 
|2010  | 
|2020  | 

Получить таблицу такого вида:

| Год  | Разница |
|------|---------|
|2000  |    0    |
|2005  |    5    |
|2020  |    15   |
|2050  |    30   |

Ответы (1 шт):

Автор решения: jus1096

Конечно существует. Во-первых можно использовать функцию neighbor:

create table default.test(val UInt32) engine=MergeTree() ORDER BY val;

insert into default.test values (2000),(2005),(2010),(2020);

select val, val-neighbor(val, -1) from default.test;

Ещё есть LAG(), LEAD().

→ Ссылка