ComenzarEmpieza gratis

¿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

Ver curso

Instrucciones del ejercicio

  • Aplica SELECT al nombre de la liga y la media de goles totales marcados de league y match.
  • 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 OVER a 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 ___;
Editar y ejecutar código