Bắt đầu ngayBắt đầu miễn phí

Nơi mùa đông phủ trắng

Canada, Nga và Mông Cổ là những quốc gia duy nhất vừa có vận động viên Olympic nhiệt độ trung bình năm dưới 0°C. Phổ biến hơn, nhiều quốc gia chỉ lạnh vào các tháng mùa đông. Ngay cả những nước chỉ có vài tháng băng giá và tuyết vẫn tạo điều kiện cho vận động viên luyện tập các môn như trượt tuyết hay đua xe trượt băng.

Với điều này, bạn sẽ xem dữ liệu khí hậu của các quốc gia có vận động viên Olympic dựa trên nhiệt độ trung bình theo tháng trong 40 năm. Bạn đặc biệt tò mò về tỷ lệ tham gia Thế vận hội Mùa đông thấp ở châu Phi và quyết định xem nhiệt độ cho tất cả khu vực Olympic ở bán cầu nam.

Viết truy vấn được tối ưu cho khả năng đọc bằng cách sử dụng common table expression (CTE).

Bài tập này là một phần của khóa học

Cải thiện hiệu năng truy vấn trong PostgreSQL

Xem khóa học

Hướng dẫn bài tập

  • Viết một CTE, south_cte, cho bán cầu nam.
  • Tìm nhiệt độ và lượng mưa trung bình của tháng 6 từ bảng oclimate.
  • JOIN kết quả để xem nhiệt độ trung bình tháng mùa đông cho tất cả các khu vực.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

___ ___ ___ -- 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;
Chỉnh sửa và Chạy Mã