ПочатиПочніть безкоштовно

ІМТ‑кошик за видом спорту

Ви хочете зрозуміти, як ІМТ відрізняється між літніми видами спорту. Для цього підготуйте звіт, який містить:

  • sport — назву літнього виду спорту
  • bmi_bucket — розбиття ІМТ на три групи: <.25, .25-.30, >.30
  • athletes — кількість унікальних спортсменів

Визначення: BMI = 100 * weight / (height squared).

Зверніть увагу, що вирази CASE обробляються пострічково, тож друга умова застосовується лише тоді, коли перша є хибною. Завдяки цьому немає потреби додавати оператор AND, який виключає вже перевірені умови.

За потреби зверніться до E:R Diagram.

Ця вправа є частиною курсу

Звітування в SQL

Переглянути курс

Інструкції до вправи

  • Побудуйте запит, який вибирає з summer_games і athletes та показує sport, bmi_bucket і athletes.
  • Не використовуючи AND чи ELSE, створіть вираз CASE, який ділить bmi_bucket на три групи: '<.25', '.25-.30' і '>.30'.
  • Згрупуйте за неагрегованими полями.
  • Відсортуйте звіт за видом спорту, а потім за кількістю спортсменів у спадаючому порядку.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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 ____;
Редагувати та запускати код