รวมข้อมูลก่อน JOIN ตาราง
คุณมีข้อมูลดังต่อไปนี้:
- นักกีฬาชาวแอฟริกันที่เคยเข้าร่วมการแข่งขันโอลิมปิก
- GDP ต่อหัวของแต่ละประเทศ
- จำนวนประชากรแยกตามปี
เพื่อความเรียบง่าย ข้อมูลประชากรศาสตร์รายปี (GDP และประชากร) ถูกแบ่งเป็น 3 ระดับ ได้แก่ ต่ำ กลาง และสูง โจทย์ของคุณคือเปรียบเทียบ GDP จำนวนประชากร และจำนวนนักกีฬาของแต่ละประเทศในแอฟริกา
ผลลัพธ์สุดท้ายควรมีหนึ่งแถวต่อประเทศต่อปี เนื่องจากตาราง athletes มี grain ที่แตกต่างจากตาราง demographics_rank (athlete-event เทียบกับ country-year) จึงต้องรวมข้อมูลในตาราง athletes ก่อน แล้วจึง JOIN กับข้อมูล GDP และประชากร
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Count the number of athletes by country
SELECT country_code
, year
, ___(___) AS no_athletes
FROM athletes
GROUP BY ___, ___;