Introduit dans : v20.1.0
Calcule la somme glissante des valeurs d’entrée.
La fonction peut prendre la taille de la fenêtre en paramètre. Si elle n’est pas précisée, la fonction utilise une taille de fenêtre égale au nombre de lignes de la colonne.
Syntaxe
groupArrayMovingSum(numbers_for_summing)
groupArrayMovingSum(window_size)(numbers_for_summing)
Paramètres
window_size — Taille de la fenêtre de calcul. S’il n’est pas spécifié, la fonction utilise une taille de fenêtre égale au nombre de lignes de la colonne. UInt64
Arguments
numbers_for_summing — Expression produisant une valeur de type de données numérique. (U)Int* ou Float* ou Decimal
Valeur renvoyée
Renvoie un tableau de même taille et de même type que les données d’entrée. Array
Exemples
Exemple d’utilisation
CREATE TABLE t
(
`int` UInt8,
`float` Float32,
`dec` Decimal32(2)
)
ENGINE = Memory;
INSERT INTO t VALUES (1, 1.1, 1.10), (2, 2.2, 2.20), (4, 4.4, 4.40), (7, 7.77, 7.77);
SELECT
groupArrayMovingSum(int) AS I,
groupArrayMovingSum(float) AS F,
groupArrayMovingSum(dec) AS D
FROM t;
┌─I──────────┬─F───────────────────────────────┬─D──────────────────────┐
│ [1,3,7,14] │ [1.1,3.3000002,7.7000003,15.47] │ [1.10,3.30,7.70,15.47] │
└────────────┴─────────────────────────────────┴────────────────────────┘
Avec une taille de fenêtre
SELECT
groupArrayMovingSum(2)(int) AS I,
groupArrayMovingSum(2)(float) AS F,
groupArrayMovingSum(2)(dec) AS D
FROM t;
┌─I──────────┬─F───────────────────────────────┬─D──────────────────────┐
│ [1,3,6,11] │ [1.1,3.3000002,6.6000004,12.17] │ [1.10,3.30,6.60,12.17] │
└────────────┴─────────────────────────────────┴────────────────────────┘
Dernière modification le 25 juin 2026