Kom igångKom igång gratis

Rörligt maximum för kinesiska atleters medaljer

Ramar gör det möjligt att "titta" framåt eller bakåt utan att först använda de relativa hämtningsfunktionerna LAG och LEAD för att hämta tidigare raders värden till den aktuella raden.

Den här övningen är en del av kursen

PostgreSQL – Sammanfattande statistik och fönsterfunktioner

Visa kurs

Övningsinstruktioner

  • Returnera atleterna, antalet vunna medaljer och det maximala antalet vunna medaljer – jämför bara de två föregående atleterna och den aktuella atleten – sorterat i alfabetisk ordning efter atleternas namn.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

WITH Chinese_Medals AS (
  SELECT
    Athlete, COUNT(*) AS Medals
  FROM Summer_Medals
  WHERE
    Country = 'CHN' AND Medal = 'Gold'
    AND Year >= 2000
  GROUP BY Athlete)

SELECT
  -- Select the athletes and the medals they've earned
  ___,
  ___,
  -- Get the max of the last two and current rows' medals 
  ___ OVER (ORDER BY ___ ASC
            ROWS BETWEEN ___
            AND ___) AS Max_Medals
FROM Chinese_Medals
ORDER BY Athlete ASC;
Redigera och kör kod