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

OVER ที่นี่คืออะไร?

Window functions ช่วยให้สามารถจัดอันดับ (RANK) ข้อมูลตามตัวแปรที่ต้องการได้ โดยต้องระบุคอลัมน์หรือการคำนวณที่ใช้เป็นเกณฑ์การจัดอันดับ ซึ่งทำได้โดยเพิ่ม ORDER BY ไว้ภายใน OVER() ดูตัวอย่างด้านล่าง:

SELECT 
    id,
    RANK() OVER(ORDER BY home_goal) AS rank
FROM match;

ในแบบฝึกหัดนี้ จะสร้างชุดข้อมูลที่จัดอันดับแมตช์ตามลีกที่มีค่าเฉลี่ยประตูต่อเกมสูงที่สุด

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

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

ดูคอร์ส

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

  • SELECT ชื่อลีกและค่าเฉลี่ยประตูรวมจากตาราง league และ match
  • เติม window function ให้คำนวณ RANK() ของค่าเฉลี่ยประตูที่ทำได้ในทุกลีกของฐานข้อมูล
  • กำหนดลำดับการจัดอันดับ OVER ค่าเฉลี่ยรวมของประตูเจ้าบ้านและทีมเยือน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league over the average goals
    ___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m 
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;
แก้ไขและรันโค้ด