Trouver les trois valeurs les plus élevées par partition
Vous travaillez pour un observatoire de météorologie, et la direction de la station vous a demandé d'identifier les trois températures mensuelles les plus élevées pour chaque station météo pour l'année 2017. Vous savez que, pour y arriver, vous devrez créer une fonction de fenêtrage pour numéroter les lignes.
Comme vous recherchez les températures mensuelles les plus élevées, assurez-vous d'ordonner par t_monthly_max en ordre décroissant afin que les températures les plus élevées soient numérotées en premier.
Deux tables sont à votre disposition : temperatures_monthly et temperature_stations.
Cette activité fait partie du cours
Analyse de séries chronologiques dans PostgreSQL
Instructions de l’exercice
- Trouvez les trois températures mensuelles les plus élevées pour chaque
station_idet l'statecorrespondant, pour l'année 2017.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- 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, ___;