Kategorie BMI podle sportu
Chceš zjistit, jak se BMI liší podle jednotlivých letních sportů. Připrav sestavu obsahující následující sloupce:
- sport – název letního sportu
- bmi_bucket – BMI rozdělené do tří skupin:
<.25,.25-.30,>.30 - athletes – celkový počet jedinečných sportovců
Definice: BMI = 100 * weight / (height na druhou).
Měj na paměti, že příkaz CASE se vyhodnocuje řádek po řádku, takže druhá podmínka se použije jen tehdy, pokud první podmínka není splněna. Díky tomu nepotřebuješ příkaz AND pro vyloučení již zohledněných podmínek.
Kdykoli se můžeš podívat na E:R diagram.
Toto cvičení je součástí kurzu
Reporting in SQL
Pokyny k cvičení
- Sestav dotaz, který čerpá z tabulek
summer_gamesaathletesa zobrazuje sloupcesport,bmi_bucketaathletes. - Bez použití
ANDneboELSEvytvoř příkazCASE, který rozdělíbmi_bucketdo tří skupin:'<.25','.25-.30'a'>.30'. - Seskup výsledky podle neagregovaných sloupců.
- Seřaď sestavu nejprve podle sportu a poté podle počtu sportovců sestupně.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- 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 ____;