Ribalta i risultati con OVER
Nell'ultimo esercizio, il rank generato nella tua query era organizzato dal più piccolo al più grande. Aggiungendo DESC alla tua window function, puoi creare un rank ordinato dal più grande al più piccolo.
SELECT
id,
RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;
Questo esercizio fa parte del corso
Manipolazione dei dati in SQL
Istruzioni dell'esercizio
- Seleziona il
namedella lega e i goal totali medi segnati daleagueematch. - Completa la window function per classificare ciascuna lega dai goal medi più alti ai più bassi.
ORDERla query principaleBYil rank che hai appena creato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + m.away_goal) AS avg_goals,
-- Rank leagues in descending order by average goals
___ ___(___ ___ ___(___ + m.away_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
___ ___ ___;