Intervalos de IMC por deporte
Quieres entender cómo varía el IMC en cada deporte de verano. Para responder a esto, prepara un informe que contenga lo siguiente:
- sport, que es el nombre del deporte de verano
- bmi_bucket, que divide el IMC en tres grupos:
<.25,.25-.30,>.30 - athletes, o el número de atletas únicos
Definición: IMC = 100 * weight / (height al cuadrado).
Ten en cuenta también que las sentencias CASE se evalúan fila por fila, por lo que la segunda condición solo se aplica si la primera es falsa. Esto implica que no necesitas una sentencia AND para excluir condiciones ya mencionadas.
Si quieres, consulta el diagrama E:R.
Este ejercicio forma parte del curso
Informes en SQL
Instrucciones del ejercicio
- Crea una consulta que extraiga de
summer_gamesyathletespara mostrarsport,bmi_bucketyathletes. - Sin usar
ANDniELSE, define una sentenciaCASEque dividabmi_bucketen tres grupos:'<.25','.25-.30'y'>.30'. - Agrupa por los campos no agregados.
- Ordena el informe por sport y luego por athletes en orden descendente.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
-- 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 ____;