การแก้ปัญหา CASE statements
ในแบบฝึกหัดที่ผ่านมา คุณอาจสังเกตเห็นค่า null หลายรายการใน case statement ของเรา ซึ่งอาจเป็นสัญญาณว่ามีปัญหาบางอย่างในโค้ด
ในกรณีเช่นนี้ ควรตรวจสอบเพื่อทำความเข้าใจว่าค่า null เหล่านี้เกิดขึ้นได้อย่างไร ในแบบฝึกหัดนี้ จะดำเนินการทีละขั้นตอนเพื่อระบุปัญหาและแก้ไขโค้ดตามที่จำเป็น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การรายงานผลด้วย SQL
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Query from last exercise shown below. Comment it out.
SELECT
sport,
CASE WHEN weight/height^2*100 <.25 THEN '<.25'
WHEN weight/height^2*100 <=.30 THEN '.25-.30'
WHEN weight/height^2*100 >.30 THEN '>.30' END AS bmi_bucket,
COUNT(DISTINCT athlete_id) AS athletes
FROM summer_games AS s
JOIN athletes AS a
ON s.athlete_id = a.id
GROUP BY sport, bmi_bucket
ORDER BY sport, athletes DESC;
-- Show height, weight, and bmi for all athletes
SELECT
____,
____,
____ AS bmi
FROM ____
-- Filter for NULL bmi values
WHERE ____;