列が存在しません
フィルタ条件として WHERE を使うときは、クエリ内での処理順序を意識することが大切です。この演習では、1試合あたりの平均総リバウンドが12以上のNBA選手を返すクエリを作成します。PlayerStats テーブルから平均総リバウンドを計算する式は次のとおりです。
$$Average Total Rebounds = \dfrac{(Defensive Rebounds + Offensive Rebounds)}{Games Played}$$
手順 1 の最初のクエリはエラーになります。エラー内容を確認するには コードを実行する を選択してください。手順 2 の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;