typestar

Totales acumulados en SQL

Una ventana ordenada convierte una columna de montos en una curva acumulada.

SELECT
    day,
    amount,
    SUM(amount) OVER (
        ORDER BY day
        ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    ) AS running_total,
    AVG(amount) OVER (
        ORDER BY day
        ROWS BETWEEN 6 PRECEDING AND CURRENT ROW
    ) AS rolling_week
FROM daily_revenue;

Cómo funciona

  1. La cláusula de frame declara qué filas alimentan cada resultado.
  2. UNBOUNDED PRECEDING hasta CURRENT ROW da una suma acumulada.
  3. La misma ventana puede alimentar varias expresiones.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
231
Tokens
47
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 30 segundos.

Escribe este fragmento

Paso 3 de 9 en Funciones de ventana; paso 9 de 24 en Analítica y reportes.

← Anterior Siguiente →