Nombrar una ventana en SQL
Repetir la misma cláusula OVER cuatro veces es como se cuela un error de tipeo.
SELECT
month,
revenue,
SUM(revenue) OVER rolling AS rolling_sum,
AVG(revenue) OVER rolling AS rolling_avg,
MAX(revenue) OVER rolling AS rolling_peak
FROM monthly_revenue
WINDOW rolling AS (
ORDER BY month
ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
)
ORDER BY month;
Cómo funciona
- La cláusula
WINDOWnombra una definición de ventana una sola vez. - Cada función luego la refiere por su nombre.
WINDOWva después deHAVINGy antes delORDER BYfinal.
Palabras clave y builtins usados aquí
ANDASAVGBETWEENBYCURRENTFROMMAXORDERROWROWSSELECTSUMmonth
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 263
- Tokens
- 52
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 33 segundos.
Paso 6 de 9 en Funciones de ventana; paso 12 de 24 en Analítica y reportes.