ÎncepețiÎncepe gratuit

Categorii IMC pe sport

Vrei să înțelegi cum variază IMC-ul în funcție de fiecare sport de vară. Pentru aceasta, creează un raport care să conțină:

  • sport – numele sportului de vară
  • bmi_bucket – împarte IMC-ul în trei grupuri: <.25, .25-.30, >.30
  • athletes – numărul unic de atleți

Definiție: IMC = 100 * greutate / (înălțime la pătrat).

Reține că instrucțiunile CASE se aplică rând cu rând, deci a doua condiție este evaluată doar dacă prima este falsă. Prin urmare, nu ai nevoie de o instrucțiune AND pentru a exclude condițiile deja menționate.

Poți consulta Diagrama E:R ca referință.

Acest exercițiu face parte din cursul

Raportare în SQL

Vezi cursul

Instrucțiuni pentru exercițiu

  • Construiește o interogare care extrage date din summer_games și athletes pentru a afișa sport, bmi_bucket și athletes.
  • Fără să folosești AND sau ELSE, creează o instrucțiune CASE care împarte bmi_bucket în trei grupuri: '<.25', '.25-.30' și '>.30'.
  • Grupează rezultatele după câmpurile neagregate.
  • Ordonează raportul după sport, apoi după numărul de atleți în ordine descrescătoare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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 ____;
Editează și rulează codul