deltaSumTimestamp
Introduite dans : v21.6.0
Ajoute la différence entre des lignes consécutives. Si la différence est négative, elle est ignorée.
Cette fonction est principalement destinée aux vues matérialisées qui stockent des données ordonnées selon un horodatage aligné sur un bucket temporel, par exemple un bucket toStartOfMinute.
Comme les lignes d'une telle vue matérialisée auront toutes le même horodatage, il est impossible de les fusionner dans le bon ordre sans stocker la valeur d'horodatage d'origine, non arrondie.
La fonction deltaSumTimestamp garde trace du timestamp d'origine des valeurs qu'elle a traitées, afin que les valeurs (états) de la fonction soient correctement calculées lors de la fusion des parties.
Pour calculer la somme delta sur une collection ordonnée, vous pouvez simplement utiliser la fonction deltaSum.
Syntaxe
deltaSumTimestamp(value, timestamp)Arguments
value— Valeurs d’entrée.(U)Int*ouFloat*ouDateouDateTimetimestamp— Paramètre utilisé pour ordonner les valeurs.(U)Int*ouFloat*ouDateouDateTime
Valeur renvoyée
Renvoie les différences cumulées entre des valeurs consécutives, ordonnées selon le paramètre timestamp. (U)Int* ou Float* ou Date ou DateTime
Exemples
Utilisation de base avec tri par 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 │
└─────────────────────────────────────┘