groupArrayMovingAvg
Introduit dans : v20.1.0
Calcule la moyenne mobile des valeurs d’entrée.
Syntaxe
groupArrayMovingAvg(numbers_for_summing)
groupArrayMovingAvg(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*ouFloat*ouDecimal
Valeur renvoyée
Renvoie un tableau de la même taille que les données d’entrée. Pour une entrée autre que Decimal, le tableau contient des valeurs Float64. Pour une entrée Decimal, le tableau contient des valeurs Decimal avec l’échelle 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
groupArrayMovingAvg(int) AS I,
groupArrayMovingAvg(float) AS F,
groupArrayMovingAvg(dec) AS D
FROM t;┌─I────────────────────┬─F─────────────────────────────────────────────────────────────────────────────┬─D─────────────────────┐
│ [0.25,0.75,1.75,3.5] │ [0.2750000059604645,0.8250000178813934,1.9250000417232513,3.8675000369548798] │ [0.27,0.82,1.92,3.86] │
└──────────────────────┴───────────────────────────────────────────────────────────────────────────────┴───────────────────────┘Avec une taille de fenêtre donnée
SELECT
groupArrayMovingAvg(2)(int) AS I,
groupArrayMovingAvg(2)(float) AS F,
groupArrayMovingAvg(2)(dec) AS D
FROM t;┌─I───────────────┬─F───────────────────────────────────────────────────────────────────────────┬─D────────────────────┐
│ [0.5,1.5,3,5.5] │ [0.550000011920929,1.6500000357627869,3.3000000715255737,6.085000038146973] │ [0.55,1.65,3.3,6.08] │
└─────────────────┴─────────────────────────────────────────────────────────────────────────────┴──────────────────────┘