Перейти к основному содержимому
Перейти к основному содержимому

deltaSum

deltaSum

Появилась в версии v21.3

Складывает арифметические разности между последовательными строками. Если разность отрицательная, она игнорируется.

Совет

Чтобы эта функция работала корректно, исходные данные должны быть отсортированы. Если вы хотите использовать эту функцию в materialized view, скорее всего вам лучше использовать вместо нее функцию deltaSumTimestamp.

См. также:

Синтаксис

deltaSum(x1[, x2, ...])

Аргументы

  • x1[, x2, ...] — одно или несколько входных значений. Integer или Float

Возвращаемое значение

Возвращает суммарную арифметическую разность входных значений. (U)Int* или Float*

Примеры

Базовое использование для положительных разностей

SELECT deltaSum(arrayJoin([1, 2, 3]))
┌─deltaSum(arrayJoin([1, 2, 3]))─┐
│                              2 │
└────────────────────────────────┘

Смешанные значения, при этом отрицательные дельты игнорируются

SELECT deltaSum(arrayJoin([1, 2, 3, 0, 3, 4, 2, 3]))
┌─deltaSum(arrayJoin([1, 2, 3, 0, 3, 4, 2, 3]))─┐
│                                             7 │
└───────────────────────────────────────────────┘

Числа с плавающей запятой

SELECT deltaSum(arrayJoin([2.25, 3, 4.5]))
┌─deltaSum(arrayJoin([2.25, 3, 4.5]))─┐
│                                2.25 │
└─────────────────────────────────────┘

Смотрите также