Zacznij terazZacznij za darmo

Znajdź trzy najwyższe wartości w każdej partycji

Pracujesz w obserwatorium meteorologicznym, a dyrektor stacji zlecił ci wskazanie trzech najwyższych miesięcznych temperatur dla każdej stacji pogodowej w roku 2017. Wiesz, że do tego celu musisz stworzyć funkcję okna, która ponumeruje wiersze.

Ponieważ szukasz najwyższych miesięcznych temperatur, zadbaj o to, aby sortowanie według kolumny t_monthly_max odbywało się w kolejności malejącej – dzięki temu najwyższe temperatury otrzymają numery jako pierwsze.

Do dyspozycji masz dwie tabele: temperatures_monthly i temperature_stations.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Znajdź trzy najwyższe miesięczne temperatury dla każdego station_id wraz z odpowiadającym mu state, dla roku 2017.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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, ___;
Edytuj i uruchom kod