¿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.
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.