ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Crea una consulta que extraiga de summer_games y athletes para mostrar sport, bmi_bucket y athletes.
  • Sin usar AND ni ELSE, define una sentencia CASE que divida bmi_bucket en 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 ____;
Editar y ejecutar código