ПочатиПочніть безкоштовно

Додайте віконну функцію

Чудово! Тепер у вас є набір результатів, що повертає дату матчу, домашню команду, гостьову команду та кількість голів кожної команди. Залишився останній компонент запитання — наскільки болісною була поразка Manchester United у кожному матчі?

Щоб це визначити, додаймо до головного запиту віконну функцію, яка ранжує матчі за абсолютним значенням різниці між home_goal та away_goal. Це дає змогу напряму порівнювати різницю в рахунку без урахування того, чи грав Manchester United удома чи на виїзді!

Формулу вже складено за вас — вам лише потрібно коректно завершити віконну функцію!

Ця вправа є частиною курсу

Маніпулювання даними в SQL

Переглянути курс

Інструкції до вправи

  • Налаштуйте CTE так, щоб домашня і виїзна команди мали пов'язані назву, ідентифікатор і рахунок.
  • У головному запиті виберіть date, home team name, away team name, home goals і away goals.
  • Ранжуйте матчі та впорядкуйте їх за різницею в рахунку у спадному порядку.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- Set up the home team CTE
___ ___ ___ (
  SELECT m.id, t.team_long_name,
	  CASE WHEN m.home_goal > m.away_goal THEN 'MU Win'
		   WHEN m.home_goal < m.away_goal THEN 'MU Loss' 
  		   ELSE 'Tie' END AS outcome
  FROM match AS m
  LEFT JOIN team AS t ON m.hometeam_id = t.team_api_id),
-- Set up the away team CTE
___ ___ (
  SELECT m.id, t.team_long_name,
	  CASE WHEN m.home_goal > m.away_goal THEN 'MU Loss'
		   WHEN m.home_goal < m.away_goal THEN 'MU Win' 
  		   ELSE 'Tie' END AS outcome
  FROM match AS m
  LEFT JOIN team AS t ON m.awayteam_id = t.team_api_id)
-- Select columns and and rank the matches by goal difference
SELECT DISTINCT
    ___,
    ___.___ AS home_team,
    ___.___ AS away_team,
    m.home_goal, m.away_goal,
    ___() ___(___ ___ ABS(home_goal - away_goal) ___) as match_rank
-- Join the CTEs onto the match table
FROM match AS m
___ JOIN ___ ON m.id = ___
___ JOIN ___ ON m.id = ___
WHERE m.season = '2014/2015'
      AND ((home.team_long_name = 'Manchester United' AND home.outcome = 'MU Loss')
      OR (away.team_long_name = 'Manchester United' AND away.outcome = 'MU Loss'));
Редагувати та запускати код