排除 CASE 敘述的錯誤
在上一個練習中,你可能注意到在我們的 case 敘述裡出現了數個 null 值,這代表程式碼可能有問題。
遇到這種情況,值得深入調查為什麼會出現這些 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 ____;