lagInFrame
Возвращает значение, вычисляемое на строке, которая находится на заданном физическом смещении перед текущей строкой в пределах упорядоченной рамки.
осторожно
Поведение lagInFrame отличается от стандартной SQL функции lag.
Функция окон lagInFrame в ClickHouse учитывает оконную рамку.
Чтобы получить поведение, идентичное lag, используйте ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.
Синтаксис
Для получения более детальной информации о синтаксисе оконных функций смотрите: Оконные функции - Синтаксис.
Параметры
x— имя колонки.offset— смещение, которое необходимо применить. (U)Int*. (Необязательно - по умолчанию1).default— значение, возвращаемое, если вычисленная строка превышает границы оконной рамки. (Необязательно - значение по умолчанию для типа колонки при пропуске).
Возвращаемое значение
- Значение, вычисляемое на строке, которая находится на заданном физическом смещении перед текущей строкой в пределах упорядоченной рамки.
Пример
В этом примере рассматриваются исторические данные по конкретной акции и используется функция lagInFrame, чтобы вычислить изменение цены закрытия акции от дня к дню и процентное изменение.
Запрос:
Результат: