3.0 KiB
slug | sidebar_position |
---|---|
/ru/sql-reference/aggregate-functions/reference/deltasumtimestamp | 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 │
└─────────────────────────────────────┘