Introducido en: v20.1.0
Calcula la suma móvil de los valores de entrada.
La función puede tomar como parámetro el tamaño de la ventana. Si no se especifica, la función toma como tamaño de ventana el número de filas de la columna.
Sintaxis
groupArrayMovingSum(numbers_for_summing)
groupArrayMovingSum(window_size)(numbers_for_summing)
Parámetros
window_size — Tamaño de la ventana de cálculo. Si no se especifica, la función usa como tamaño de ventana el número de filas de la columna. UInt64
Argumentos
numbers_for_summing — Expresión que produce un valor de tipo de dato numérico. (U)Int* o Float* o Decimal
Valor devuelto
Devuelve un Array del mismo tamaño y tipo que los datos de entrada. Array
Ejemplos
Ejemplo de uso
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] │
└────────────┴─────────────────────────────────┴────────────────────────┘
Con tamaño de la ventana
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] │
└────────────┴─────────────────────────────────┴────────────────────────┘
Última modificación el 10 de junio de 2026