เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

COUNT โดยใช้ CASE WHEN

จำนวนแมตช์ฟุตบอลที่จัดขึ้นในแต่ละประเทศในยุโรปแตกต่างกันไปตามฤดูกาลหรือไม่? เราจะใช้ European Soccer Database เพื่อตอบคำถามนี้

ลองตรวจสอบจำนวนแมตช์ที่จัดขึ้นใน 3 ฤดูกาล สำหรับแต่ละประเทศในฐานข้อมูล การแยกข้อมูลของแต่ละฤดูกาลออกเป็นคอลัมน์แยกกันจะช่วยให้วิเคราะห์ได้ง่ายขึ้นมาก โดยใช้ตาราง country และตาราง match ที่ไม่ได้กรองข้อมูล ให้นับจำนวนแมตช์ที่จัดขึ้นในแต่ละประเทศในฤดูกาล 2012/2013 และ 2013/2014

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การจัดการข้อมูลใน SQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างคำสั่ง CASE WHEN เพื่อนับจำนวนแมตช์ที่จัดขึ้นในฤดูกาล '2012/2013'
  • สร้างคำสั่ง CASE WHEN เพื่อนับจำนวนแมตช์ที่จัดขึ้นในฤดูกาล '2013/2014' โดยตั้งชื่อ alias เป็น 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;
แก้ไขและรันโค้ด