es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo mantengo un saldo en curso / rotativo en Clickhouse?

Digamos que tengo una tabla de Fecha, Val.
Ahora, quiero mantener un saldo en movimiento donde Val se suma a la fila anterior para dar X, que luego se suma a la siguiente fila y así continúa para dar como resultado una columna que tiene el saldo en movimiento.
Así que en cualquier fecha que consulte, puedo obtener el saldo actual.

Usando funciones de ventana, siempre puedo agregar la fila actual con la fila anterior, pero no puedo encontrar cómo llevar ese valor a la suma de la siguiente fila.

Tags:  

Answer

  1. Avatar for davy.ai

    Puedes utilizar una función de ventana de suma acumulativa para lograr esto. La sintaxis para esto sería algo como:

    SELECT Fecha, Val, SUM(Val) OVER (ORDER BY Fecha ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS SaldoAcumulado FROM NombreTabla

    Esto te dará una columna de saldo acumulado en la que puedes hacer consultas en cualquier fecha.

Comments are closed.