Aan de slagBegin gratis

BMI-categorie per sport

Je wilt begrijpen hoe de BMI verschilt per zomersport. Stel hiervoor een rapport op met het volgende:

  • sport, de naam van de zomersport
  • bmi_bucket, die de BMI opsplitst in drie groepen: <.25, .25-.30, >.30
  • athletes, het unieke aantal atleten

Definitie: BMI = 100 * weight / (height in het kwadraat).

Let ook op dat CASE-statements rij voor rij worden uitgevoerd, dus de tweede voorwaarde wordt alleen toegepast als de eerste onwaar is. Daardoor heb je geen AND-statement nodig om al eerder genoemde voorwaarden uit te sluiten.

Je mag gerust het E:R-diagram erbij pakken.

Deze oefening maakt deel uit van de cursus

Rapporteren in SQL

Bekijk cursus

Oefeninstructies

  • Bouw een query die summer_games en athletes gebruikt om sport, bmi_bucket en athletes te tonen.
  • Stel zonder AND of ELSE een CASE-statement op die bmi_bucket in drie groepen splitst: '<.25', '.25-.30' en '>.30'.
  • Groepeer op de niet-geaggregeerde velden.
  • Sorteer het rapport op sport en daarna op athletes in aflopende volgorde.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

-- Pull in sport, bmi_bucket, and athletes
SELECT 
	____,
    -- Bucket BMI in three groups: <.25, .25-.30, and >.30	
    CASE WHEN ____ THEN '<.25'
    WHEN ____ THEN '.25-.30'
    WHEN ____ THEN '>.30' END AS bmi_bucket,
    ____ AS athletes
FROM ____ AS s
JOIN ____ AS a
ON ____
-- GROUP BY non-aggregated fields
GROUP BY ____
-- Sort by sport and then by athletes in descending order
ORDER BY ____;
Code bewerken en uitvoeren