Trouver les trois valeurs les plus élevées par partition
Vous travaillez pour un observatoire de météorologie et la directrice de station vous demande 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 parvenir, 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, veillez à trier par t_monthly_max en ordre décroissant afin que les températures les plus hautes soient numérotées en premier.
Deux tables sont à votre disposition : temperatures_monthly et temperature_stations.
Cet exercice fait partie du cours
<cours>Analyse des séries temporelles dans PostgreSQL</cours>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, ___;