typestar

Frames de ventana en SQL

El frame decide qué filas puede ver la función de ventana desde donde está parada.

SELECT
    day,
    amount,
    SUM(amount) OVER (
        ORDER BY day
        ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
    ) AS three_row_sum,
    SUM(amount) OVER (
        ORDER BY day
        RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
    ) AS to_date,
    SUM(amount) OVER (
        ORDER BY day
        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
    ) AS centered
FROM daily_revenue;

Cómo funciona

  1. ROWS cuenta filas; RANGE cuenta valores de la clave de orden.
  2. Con empates, RANGE incluye cada fila empatada — ROWS no.
  3. El frame por defecto es toda la partición hasta los empates de la fila actual.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
315
Tokens
67
Ritmo de tres estrellas
95 tpm

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

Escribe este fragmento

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

← Anterior Siguiente →