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

ที่ซึ่งฤดูหนาวปกคลุมด้วยหิมะขาว

แคนาดา รัสเซีย และมองโกเลียเป็นเพียง 3 ประเทศที่มีนักกีฬาโอลิมปิก และ มีอุณหภูมิเฉลี่ยรายปีต่ำกว่าจุดเยือกแข็ง อย่างไรก็ตาม หลายประเทศมีอากาศหนาวเฉพาะในช่วงฤดูหนาวเท่านั้น แม้จะมีอุณหภูมิต่ำกว่าจุดเยือกแข็งและหิมะเพียงไม่กี่เดือน แต่ก็เปิดโอกาสให้นักกีฬาฝึกซ้อมสำหรับกีฬาอย่างสกีและบ็อบสเลดได้

ด้วยแนวคิดนี้ จึงจะดูข้อมูลภูมิอากาศของประเทศที่มีนักกีฬาโอลิมปิก โดยใช้อุณหภูมิเฉลี่ยรายเดือนย้อนหลัง 40 ปี นอกจากนี้ยังสังเกตเห็นว่าแอฟริกามีการเข้าร่วมการแข่งขันโอลิมปิกฤดูหนาวค่อนข้างน้อย จึงสนใจดูข้อมูลอุณหภูมิของทุกภูมิภาคโอลิมปิกในซีกโลกใต้

เขียน query โดยใช้ common table expression (CTE) เพื่อให้โค้ดอ่านได้ง่ายขึ้น

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

การเพิ่มประสิทธิภาพคิวรีใน PostgreSQL

ดูคอร์ส

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

  • เขียน CTE ชื่อ south_cte สำหรับซีกโลกใต้
  • หาค่าเฉลี่ยอุณหภูมิและปริมาณน้ำฝนในเดือนมิถุนายนจากตาราง oclimate
  • JOIN ผลลัพธ์เพื่อดูอุณหภูมิเฉลี่ยในช่วงฤดูหนาวของทุกภูมิภาค

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

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

___ ___ ___ -- CTE
(
  SELECT region
    , ROUND(AVG(temp_06),2) AS avg_winter_temp
    , ROUND(AVG(precip_06),2) AS avg_winter_precip
  FROM ___
  WHERE region IN ('Africa','South America','Australia and Oceania')
  GROUP BY region
)

SELECT south.region, south.avg_winter_temp, south.avg_winter_precip
  , COUNT(DISTINCT ath.athlete_id)
FROM ___ as south
INNER JOIN athletes_recent ath
  ON south.region = ath.region
  AND ath.season = 'Winter'
GROUP BY south.region, south.avg_winter_temp, south.avg_winter_precip
ORDER BY south.avg_winter_temp;
แก้ไขและรันโค้ด