Там, где зима белая
Канада, Россия и Монголия — единственные страны, у которых есть олимпийские спортсмены и среднегодовая температура ниже нуля. Чаще бывает иначе: холода наступают лишь в зимние месяцы. Однако даже несколько морозных месяцев со снегом дают спортсменам возможность тренироваться в таких дисциплинах, как лыжные гонки и бобслей.
Имея это в виду, вы изучите климатические данные стран, представленных на Олимпийских играх, используя среднемесячные температуры за 40 лет. Вас особенно интересует низкий уровень участия Африки в зимних Олимпийских играх, поэтому вы решаете рассмотреть температуры для всех олимпийских регионов южного полушария.
Напишите запрос с использованием обобщённого табличного выражения (CTE), чтобы сделать код максимально читаемым.
Это упражнение является частью курса
Оптимизация запросов в PostgreSQL
Инструкции к упражнению
- Напишите CTE
south_cteдля южного полушария. - Найдите среднюю температуру и количество осадков за июнь из таблицы
oclimate. - Объедините результаты, чтобы просмотреть среднюю температуру зимнего месяца для всех регионов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
___ ___ ___ -- 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;