Знайдіть три найвищі значення в кожному розбитті
Ви працюєте в метеорологічній обсерваторії, і директор станції доручив вам визначити три найвищі місячні температури для кожної метеостанції за 2017 рік. Ви знаєте, що для цього потрібно створити віконну функцію, щоб пронумерувати рядки.
Оскільки ви шукаєте найвищі місячні температури, потрібно впевнитися, що впорядкування виконується за t_monthly_max у спадаючому порядку, щоб найвищі температури отримали найменші номери.
Для вас доступні дві таблиці: temperatures_monthly і temperature_stations.
Ця вправа є частиною курсу
Аналіз часових рядів у PostgreSQL
Інструкції до вправи
- Знайдіть три найвищі місячні температури для кожного
station_idта відповідногоstateза 2017 рік.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
-- Three highest monthly temps per station for 2017
SELECT * FROM
( SELECT
ts.station_id,
ts.state,
tm.year_month,
tm.t_monthly_max,
___ AS rank
FROM temperatures_monthly AS tm
JOIN temperature_stations AS ts USING(station_id)
WHERE ___
) AS temp_2017
WHERE ___
ORDER BY station_id, ___;