Introduit dans : v20.1.0
Calcule la moyenne mobile des valeurs d’entrée.
La fonction utilise l’arrondi vers zéro.
Elle tronque les décimales non significatives pour le type de données résultant.
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* ou Float* ou Decimal
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.30,6.08] │
└─────────────────┴─────────────────────────────────────────────────────────────────────────────┴───────────────────────┘