Co-authored-by: Anna <42538400+adevyatova@users.noreply.github.com>
2.8 KiB
toc_priority |
---|
141 |
deltaSumTimestamp
Прибавляет разницу между последовательными строками. Если разница отрицательна — она будет проигнорирована.
Эта функция предназначена в первую очередь для материализованных представлений, упорядоченных по некоторому временному бакету согласно timestamp, например по бакету toStartOfMinute
. Поэтому строки в таком материализованном представлении будут иметь одинаковый timestamp. Невозможно, чтобы они были объединены в "правом" порядке. Эта функция отслеживает timestamp
значений, которые она видит. Поэтому можно правильно упорядочить состояния во время слияния.
Чтобы вычислить разницу между упорядоченными последовательными строками, вы можете использовать функцию deltaSum вместо функции deltaSumTimestamp
.
Синтаксис
deltaSumTimestamp(value, timestamp)
Аргументы
value
— входные значения, должны быть типа Integer, или Float, или Date, или DateTime.timestamp
— параметр для упорядочивания значений, должен быть типа Integer, или Float, или Date, или DateTime.
Возвращаемое значение
- Накопленная разница между последовательными значениями, упорядоченными по параметру
timestamp
.
Тип: Integer, или Float, или Date, или DateTime.
Пример
Запрос:
SELECT deltaSumTimestamp(value, timestamp)
FROM (select number as timestamp, [0, 4, 8, 3, 0, 0, 0, 1, 3, 5][number] as value from numbers(1, 10));
Результат:
┌─deltaSumTimestamp(value, timestamp)─┐
│ 13 │
└─────────────────────────────────────┘