Saltar al contenido principal

groupArrayMovingSum

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
Query
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;
Response
┌─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
Query
SELECT
    groupArrayMovingSum(2)(int) AS I,
    groupArrayMovingSum(2)(float) AS F,
    groupArrayMovingSum(2)(dec) AS D
FROM t;
Response
┌─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