在 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;