Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

groupArrayMovingSum

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

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.100000023841858,3.3000000715255737,7.700000166893005,15.470000147819519] │ [1.1,3.3,7.7,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.100000023841858,3.3000000715255737,6.6000001430511475,12.170000076293945] │ [1.1,3.3,6.6,12.17] │
└────────────┴──────────────────────────────────────────────────────────────────────────────┴─────────────────────┘
Navigation