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
Instruções do exercício
- Construa uma consulta que extraia de
summer_gameseathletespara mostrarsport,bmi_bucketeathletes. - Sem usar
ANDouELSE, crie uma instruçãoCASEque dividabmi_bucketem 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 ____;