1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQL でのデータ操作

Connected

演習

CASE と AVG を使って比率を導く

CASE 文は、THEN 句で指定した任意の値を返します。集計関数と組み合わせて使うと、堅牢な計算やデータ操作ができる非常に強力なツールです。重要な使い方のひとつは、AVG 関数の中で CASE を使い、データベース内の情報の割合を計算することです。

セットアップの例は次のとおりです。

AVG(CASE WHEN condition_is_met THEN 1
         WHEN condition_is_not_met THEN 0 END)

この方法では、どのレコードを 0 として数えるかを正確に指定することが重要です。そうしないと計算結果が正しくならない可能性があります。

あなたの課題は、各国の勝ち、負け、引き分けの数を調べることです。matches テーブルは 2013/2014 と 2014/2015 シーズンのすべての試合に絞り込まれています。

指示

100 XP
  • AVG() 関数内で、CASE 文を完成させ、m.home_goal が m.away_goal と等しくないかを確認し、この条件を満たす場合は値として 0 を割り当ててください。
  • 同じ手順を '2014/2015' のホームとアウェイのゴール比較にも適用し、ties_2014_2015 という別名を付けてください。