IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Seleziona il name della lega e i goal totali medi segnati da league e match.
  • Completa la window function per classificare ciascuna lega dai goal medi più alti ai più bassi.
  • ORDER la query principale BY il 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
___ ___ ___;
Modifica ed esegui il codice