1. Learn
  2. /
  3. Kurser
  4. /
  5. SQL 中的数据处理

Connected

övning

使用 CASE 和 AVG 计算占比

CASE 语句会返回您在 THEN 子句中指定的任何值。配合聚合语句使用时,这是进行稳健计算和数据处理的强大工具。一个常见用法是将 CASE 放在 AVG 函数中,用来计算数据库中某类信息所占的比例。

下面是设置方式示例:

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

采用这种方法时,准确指定哪些记录计为 0 非常重要,否则结果可能不正确!

您的任务是统计各国家的胜、负、平数量。matches 表已过滤,只包含 2013/2014 和 2014/2015 赛季的所有比赛。

Instruktioner

100 XP
  • 在 AVG() 函数内,完成 CASE 语句:检查 m.home_goal 是否不等于 m.away_goal,若条件满足则赋值为 0。
  • 按相同方式对比 '2014/2015' 赛季的主客队进球数,并将结果别名为 ties_2014_2015。