종목별 BMI 구간
여름 스포츠별로 BMI가 어떻게 다른지 파악하려고 합니다. 이를 위해 다음이 포함된 보고서를 만드세요:
- sport: 여름 스포츠의 이름
- bmi_bucket: BMI를 세 구간으로 나눈 값:
<.25,.25-.30,>.30 - athletes: 고유 선수 수
정의: BMI = 100 * weight / (height squared).
또한 CASE 문은 행 단위로 실행되므로, 첫 번째 조건이 거짓일 때만 두 번째 조건이 적용됩니다. 따라서 이미 검사한 조건을 제외하기 위한 AND 문이 필요하지 않습니다.
참고가 필요하면 E:R 다이어그램을 보셔도 됩니다.
이 연습은 강의의 일부입니다
SQL로 리포트 만들기
연습 안내
summer_games와athletes에서 데이터를 가져와sport,bmi_bucket,athletes를 보여주는 쿼리를 작성하세요.AND나ELSE없이CASE문을 사용해bmi_bucket을'<.25','.25-.30','>.30'의 세 구간으로 나누세요.- 집계하지 않은 필드로 GROUP BY 하세요.
- 보고서는 sport로 정렬하고, 그다음 athletes를 내림차순으로 정렬하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- 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 ____;