Aan de slagGa gratis aan de slag

The match is OVER

Met de OVER()-clausule kun je een aggregatiefunctie toepassen over een gegevensset, vergelijkbaar met subquery’s in SELECT. De OVER()-clausule heeft belangrijke voordelen ten opzichte van subquery’s in SELECT — je queries draaien sneller, en OVER() ondersteunt een groot aantal extra functies en clausules die we later in dit hoofdstuk behandelen.

In deze oefening herschrijf je enkele queries uit eerdere hoofdstukken met de OVER()-clausule.

Deze oefening maakt deel uit van de cursus

Gegevens manipuleren in SQL

Cursus bekijken

Oefeninstructies

  • Selecteer de wedstrijd-ID, land-name, season, home_goal en away_goal uit de tabellen match en country.
  • Maak de query af die het gemiddelde aantal gescoorde doelpunten over alle rijen berekent en de geaggregeerde waarde vervolgens in elke rij opneemt met een window-functie.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

SELECT 
	-- Select the match id, country name, season, home, and away goals
	___, 
    c.___ AS country, 
    m.season,
	___.home_goal,
	___,
    -- Use a window to include the aggregate average in each row
	___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;
Code bewerken en uitvoeren