deltaSumTimestamp
引入版本:v21.6.0
对连续行之间的差值求和。 如果差值为负,则会被忽略。
此函数主要用于按某个与时间 bucket 对齐的时间戳排序来存储数据的 materialized views,例如 toStartOfMinute bucket。
由于这类 materialized view 中的行都具有相同的时间戳,如果不存储原始的、未经取整的时间戳值,就无法按正确顺序对它们进行合并。
deltaSumTimestamp 函数会跟踪它处理过的值的原始 timestamp,因此在合并 parts 时,函数的值 (状态) 能够被正确计算。
要计算有序集合中的 delta sum,你只需使用 deltaSum 函数。
语法
deltaSumTimestamp(value, timestamp)参数
value— 输入值。(U)Int*或Float*或Date或DateTimetimestamp— 用于对值排序的参数。(U)Int*或Float*或Date或DateTime
返回值
返回按 timestamp 参数排序后,相邻值之间差值的累积和。(U)Int* 或 Float* 或 Date 或 DateTime
示例
按 timestamp 排序的基本用法
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 │
└─────────────────────────────────────┘