IniziaInizia gratis

Fasce di BMI per sport

Vuoi capire come varia il BMI per ciascuno sport estivo. Per rispondere, prepara un report che contenga:

  • sport, il nome dello sport estivo
  • bmi_bucket, che suddivide il BMI in tre gruppi: <.25, .25-.30, >.30
  • athletes, ovvero il numero univoco di atleti

Definizione: BMI = 100 * weight / (height al quadrato).

Nota anche che le istruzioni CASE vengono eseguite riga per riga, quindi la seconda condizione si applica solo se la prima è falsa. Questo significa che non hai bisogno di un'istruzione AND per escludere condizioni già considerate.

Se vuoi, consulta l’E:R Diagram.

Questo esercizio fa parte del corso

Reportistica in SQL

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una query che prelevi da summer_games e athletes per mostrare sport, bmi_bucket e athletes.
  • Senza usare AND o ELSE, imposta un'istruzione CASE che suddivida bmi_bucket in tre gruppi: '<.25', '.25-.30' e '>.30'.
  • Raggruppa per i campi non aggregati.
  • Ordina il report per sport e poi per atleti in ordine decrescente.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

-- 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 ____;
Modifica ed esegui il codice