跳到主要内容
跳到主要内容

deltaSumTimestamp

添加连续行之间的差值。如果差值为负,则忽略。

此函数主要用于物化视图,这些视图存储按时间桶对齐的时间戳排序的数据,例如 toStartOfMinute 桶。由于此类物化视图中的行都具有相同的时间戳,因此如果不存储原始的、未四舍五入的时间戳值,则无法按正确的顺序合并它们。deltaSumTimestamp 函数会跟踪它看到的值的原始时间戳,以便在合并部分期间正确计算函数的值(状态)。

要计算有序集合的增量总和,您可以简单地使用 deltaSum 函数。

语法

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 │
└─────────────────────────────────────┘