Întoarce rezultatele cu OVER
În exercițiul anterior, clasamentul generat de interogare era ordonat de la cel mai mic la cel mai mare. Adăugând DESC în funcția de fereastră, poți crea un clasament sortat de la cel mai mare la cel mai mic.
SELECT
id,
RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;
Acest exercițiu face parte din cursul
Manipularea datelor în SQL
Instrucțiuni pentru exercițiu
- Selectează
name-ul ligii și media totală a golurilor marcate dinleagueșimatch. - Completează funcția de fereastră pentru a clasifica fiecare ligă de la cel mai mare la cel mai mic număr mediu de goluri marcate.
ORDERează interogarea principalăBYclasamentul pe care tocmai l-ai creat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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
___ ___ ___;