メインコンテンツへスキップ
メインコンテンツへスキップ

deltaSumTimestamp

deltaSumTimestamp

導入バージョン: v21.6.0

連続する行同士の差分を加算します。 差分が負の場合は無視されます。

この関数は主に、toStartOfMinute バケットのような、ある時間バケットに揃えた timestamp でソートされたデータを保存する materialized view 向けです。 そのような materialized view 内の行はすべて同じ timestamp を持つため、元の丸め前の timestamp 値を保持しない限り、正しい順序でマージすることはできません。 deltaSumTimestamp 関数は、これまでに見た値の元の timestamp を追跡することで、パーツのマージ中に関数の値 (状態) が正しく計算されるようにします。

順序付けられたコレクションに対してデルタの合計を計算するには、単に deltaSum 関数を使用できます。

構文

deltaSumTimestamp(value, timestamp)

引数

返される値

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