deltaSumTimestamp
導入バージョン: v21.6.0
連続する行の差分を加算します。 差分が負の場合は無視されます。
この関数は主に、特定の時間バケットにそろえられたタイムスタンプ順でデータを格納する materialized view で使用されます。たとえば、toStartOfMinute バケットです。
このような materialized view では、すべての行が同じタイムスタンプを持つため、元の丸め前のタイムスタンプ値を保存しない限り、正しい順序でマージできません。
deltaSumTimestamp 関数は、これまでに見た値の元の timestamp を追跡するため、パーツのマージ時にも関数の値 (state) が正しく計算されます。
順序付けられたコレクション全体の 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 │
└─────────────────────────────────────┘