¿Qué hay OVER aquí?
Las funciones de ventana te permiten crear una RANK de información según cualquier variable que quieras utilizar para ordenar tus datos. Al configurar esto, tendrás que especificar qué columna o cálculo quieres utilizar para calcular tu clasificación. Esto se hace incluyendo una cláusula ORDER BY dentro de la cláusula OVER(). A continuación tienes un ejemplo:
SELECT
id,
RANK() OVER(ORDER BY home_goal) AS rank
FROM match;
En este ejercicio crearás un conjunto de datos de partidos clasificados según en qué ligas, de media, se marcan más goles en un partido.
Este ejercicio forma parte del curso
Manipulación de datos en SQL
Instrucciones del ejercicio
- Aplica
SELECTal nombre de la liga y la media de goles totales marcados deleagueymatch. - Completa la función de ventana para que calcule
RANK()de la media de goles marcados en todas las ligas de la base de datos. - Ordena la clasificación aplicando
OVERa la media total de goles en casa y fuera de casa marcados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + ___.away_goal) AS avg_goals,
-- Rank each league over the average goals
___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;