欄位不存在
在使用 WHERE 作為篩選條件時,務必要考慮查詢的處理順序。在這個練習中,你要撰寫一個查詢,回傳場均總籃板達到 12 次或以上的 NBA 球員。以下公式會從 PlayerStats 資料表計算場均總籃板:
$$Average Total Rebounds = \dfrac{(Defensive Rebounds + Offensive Rebounds)}{Games Played}$$
步驟 1 的第一個查詢會回傳錯誤。選取 執行程式碼 來查看錯誤。步驟 2 的第二個查詢則會使用子查詢,在不出錯的情況下給出你想要的結果。
注意,GamesPlayed 以 CAST AS numeric 轉型,確保輸出為小數點數,而不是整數。
本練習屬於課程
改進 SQL Server 中的查詢效能
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- First query
SELECT PlayerName,
Team,
Position,
(DRebound+ORebound)/CAST(GamesPlayed AS numeric) AS AvgRebounds
FROM PlayerStats
WHERE AvgRebounds >= 12;