PARTITION una columna
La cláusula PARTITION BY
te permite calcular "ventanas" diferentes en función de las columnas en las que quieras dividir tus resultados. Por ejemplo, puedes crear una única columna que calcule una media total de goles marcados en cada temporada.
En este ejercicio crearás un conjunto de datos de partidos jugados por el Legia de Varsovia, el equipo mejor clasificado de Polonia, y compararás su rendimiento en cada partido con la media total de esa temporada.
¿Dónde ves más valores atípicos? ¿Son partidos del Legia de Varsovia en casa o fuera?
Este ejercicio forma parte del curso
Manipulación de datos en SQL
Instrucciones de ejercicio
- Completa las dos funciones de ventana que calculan las medias de goles en casa y fuera. Particiona las funciones de ventana por temporada para calcular medias diferentes para cada temporada.
- Filtra la consulta para incluir solo los partidos jugados por el Legia de Varsovia,
id = 8673
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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 the average goals scored partitioned by season
___(___) ___(___ ___ ___) AS season_homeavg,
___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa matches only
WHERE
___ = ___
OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;