结合 CASE WHEN 的 COUNT
在某个欧洲国家进行的足球比赛数量,会在不同赛季之间变化吗?我们将使用 European Soccer Database 来回答这个问题。
您将查看数据库中每个国家在 3 个赛季内的比赛场次。如果把每个赛季的比赛分别放在不同的列中,这会更容易分析。请使用未过滤的 country 表和 match 表,统计各国在 2012/2013 和 2013/2014 两个赛季中进行的比赛数量。
本练习是课程的一部分
SQL 中的数据处理
练习说明
- 编写一个
CASE WHEN语句,统计'2012/2013'赛季进行的比赛场次。 - 再编写一个
CASE WHEN语句,统计'2013/2014'赛季进行的比赛场次,并将别名设为matches_2013_2014。
交互式实操练习
通过完成这段示例代码来试试这个练习。
SELECT
c.name AS country,
-- Count matches in 2012/2013
___(___ ___ m.season = '___' ___ m.id END) AS matches_2012_2013,
-- Count matches in 2013/2014
___(___ ___ m.season = '___' ___ m.id ___) ___ ___
FROM country AS c
LEFT JOIN match AS m
ON c.id = m.country_id
GROUP BY country;