Relational Data - Aggregate Functions - Reference - Deltasumtimestamp

From FojiSoft Docs

Adds the difference between consecutive rows. If the difference is negative, it is ignored.

This function is primarily for materialized views that store data ordered by some time bucket-aligned timestamp, for example, a toStartOfMinute bucket. Because the rows in such a materialized view will all have the same timestamp, it is impossible for them to be merged in the correct order, without storing the original, unrounded timestamp value. The deltaSumTimestamp function keeps track of the original timestamp of the values it’s seen, so the values (states) of the function are correctly computed during merging of parts.

To calculate the delta sum across an ordered collection you can simply use the deltaSum function.

Syntax

deltaSumTimestamp(value, timestamp)

Arguments

Returned value

  • Accumulated differences between consecutive values, ordered by the timestamp parameter.

Type: Integer or Float or Date or DateTime.

Example

Query:

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));

Result:

┌─deltaSumTimestamp(value, timestamp)─┐
│                                  13 │
└─────────────────────────────────────┘