ComeçarComece de graça

Faixa de IMC por esporte

Você quer entender como o IMC varia em cada esporte de verão. Para responder a isso, monte um relatório com o seguinte:

  • sport, que é o nome do esporte de verão
  • bmi_bucket, que separa o IMC em três grupos: <.25, .25-.30, >.30
  • athletes, ou o número único de atletas

Definição: IMC = 100 * weight / (height ao quadrado).

Observe também que instruções CASE são executadas linha a linha, então a segunda condicional só é aplicada se a primeira for falsa. Isso faz com que você não precise de uma instrução AND excluindo condicionais já mencionadas.

Sinta-se à vontade para consultar o Diagrama E:R.

Este exercício faz parte do curso

Relatórios em SQL

Ver curso

Instruções do exercício

  • Construa uma consulta que extraia de summer_games e athletes para mostrar sport, bmi_bucket e athletes.
  • Sem usar AND ou ELSE, crie uma instrução CASE que divida bmi_bucket em três grupos: '<.25', '.25-.30' e '>.30'.
  • Faça o agrupamento pelos campos não agregados.
  • Ordene o relatório por esporte e depois por atletas em ordem decrescente.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

-- 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 ____;
Editar e executar o código