PARTITION BY varias columnas
La cláusula PARTITION BY
puede utilizarse para dividir las medias de ventana por varios puntos de datos (columnas). ¡Incluso puedes calcular la información que quieres utilizar para particionar tus datos! Por ejemplo, puedes calcular los goles medios marcados por temporada y por país, o por año natural (tomado de la columna de fecha).
En este ejercicio calcularás el número medio de goles en casa y fuera marcados por el Legia de Varsovia y sus rivales, particionado por mes de cada temporada.
Este ejercicio forma parte del curso
Manipulación de datos en SQL
Instrucciones del ejercicio
- Construye dos funciones de ventana que particionen la media de goles en casa y fuera por temporada y mes.
- Filtra el conjunto de datos por el ID de equipo del Legia de Varsovia (
8673
) para que el cálculo de la ventana solo incluya partidos en los que participe este equipo.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
SELECT
date,
season,
home_goal,
away_goal,
CASE WHEN hometeam_id = 8673 THEN 'home'
ELSE 'away' END AS warsaw_location,
-- Calculate average goals partitioned by season and month
___(home_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_home,
___(away_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE
hometeam_id = ___
OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;