НачатьНачать бесплатно

Категории ИМТ по видам спорта

Вам предстоит изучить, как индекс массы тела (ИМТ) различается в зависимости от летнего вида спорта. Для этого подготовьте отчёт со следующими полями:

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

Определение: ИМТ = 100 * вес / (рост в квадрате).

Обратите внимание: оператор CASE обрабатывает строки последовательно, поэтому второе условие проверяется только в том случае, если первое оказалось ложным. Это означает, что вам не нужно использовать оператор AND для исключения уже учтённых условий.

При необходимости обратитесь к диаграмме связей.

Это упражнение является частью курса

Отчётность в 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 ____;
Редактировать и запускать код