เพิ่ม subquery ใน SELECT clause
Subquery ใน SELECT จะคืนค่าเพียงค่าเดียว ซึ่งช่วยให้ส่งค่า aggregate ผ่านลงมายัง data frame ได้ วิธีนี้มีประโยชน์มากเมื่อต้องการคำนวณบนข้อมูลในฐานข้อมูล
ในแบบฝึกหัดนี้ คุณจะสร้างคิวรีที่คำนวณจำนวนประตูเฉลี่ยต่อแมตช์ในลีกของแต่ละประเทศ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การจัดการข้อมูลใน SQL
คำแนะนำการฝึกหัด
- ใน subquery ให้เลือกค่าเฉลี่ยรวมประตูโดยบวก
home_goalและaway_goalเข้าด้วยกัน จากนั้น - กรอง ผลลัพธ์ให้คำนวณเฉพาะค่าเฉลี่ยประตูในฤดูกาล
'2013/2014'เท่านั้น - ในคิวรีหลัก ให้เลือกค่าเฉลี่ยรวมประตูโดยบวก
home_goalและaway_goalเข้าด้วยกัน เพื่อคำนวณค่าเฉลี่ยประตูของแต่ละลีก จากนั้น - กรอง ผลลัพธ์ในคิวรีหลักด้วยเงื่อนไขเดียวกับที่ใช้ใน subquery แล้ว
GROUPคิวรีBYชื่อ (name) ของลีก
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
l.name AS league,
-- Round the average of the league's total goals
ROUND(___(___ + m.away_goal), 2) AS avg_goals,
-- Select and round the average total goals for the season
(SELECT ___(___(___ + away_goal), 2)
FROM match
___ ___ = ___) AS overall_avg
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Filter for the 2013/2014 season
WHERE ___ = ___
GROUP BY ___;