deltaSumTimestamp
Introduzido em: v21.6.0
Adiciona a diferença entre linhas consecutivas. Se a diferença for negativa, ela é ignorada.
Essa função é usada principalmente para visões materializadas que armazenam dados ordenados por algum timestamp alinhado a um bucket de tempo, por exemplo, um bucket toStartOfMinute.
Como as linhas em uma visão materializada desse tipo terão todas o mesmo timestamp, é impossível mesclá-las na ordem correta sem armazenar o valor original do timestamp, sem arredondamento.
A função deltaSumTimestamp rastreia o timestamp original dos valores já processados, para que os valores (estados) da função sejam calculados corretamente durante a mesclagem das partes.
Para calcular a soma delta em uma coleção ordenada, você pode simplesmente usar a função deltaSum.
Sintaxe
deltaSumTimestamp(value, timestamp)Argumentos
value— Valores de entrada.(U)Int*ouFloat*ouDateouDateTimetimestamp— Parâmetro usado para ordenar os valores.(U)Int*ouFloat*ouDateouDateTime
Valor retornado
Retorna as diferenças acumuladas entre valores consecutivos, ordenados pelo parâmetro timestamp. (U)Int* ou Float* ou Date ou DateTime
Exemplos
Uso básico com ordenação por 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 │
└─────────────────────────────────────┘