Zacznij terazZacznij za darmo

Obliczanie czasu przyjazdu w minutach

Jako programista pracujący z danymi możesz potrzebować prezentować informacje w sposób bardziej przystępny dla użytkowników.

Tabela train_schedule zawiera godziny przyjazdów i nazwy stacji dla dwóch linii kolejowych. Dane pochodzą z podmiejskiej linii kolejowej kursującej między San Francisco a miastami na południe od niego.

Jesteś częścią zespołu tworzącego aplikację, która ma ułatwić pasażerom korzystanie z rozkładu jazdy. Jedną z wymaganych funkcji jest opcja wyświetlania na pierwszy rzut oka czasu podróży od pierwszego przystanku na linii do kolejnych stacji.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • We wspólnym wyrażeniu tabelarycznym pobierz pierwszy arrival_time dla każdej linii kolejowej, odpowiadający godzinie przyjazdu na pierwszą stację na danej linii.
  • Używając EXTRACT(), oblicz względną różnicę czasu przyjazdu każdej stacji w porównaniu z pierwszą stacją na linii, wyrażoną w minutach jako liczba całkowita.

Interaktywne ćwiczenie praktyczne

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

-- Get first arrival time for each line
WITH start_times AS
(
	SELECT train_id, ___ AS start_time
	FROM train_schedule
	___
)
SELECT
	train_id,
	station,
	arrival_time,
	-- Relative time difference from first station in minutes
	(___(___ (___))) 
    	___ AS total_minutes
FROM train_schedule JOIN start_times USING(train_id)
ORDER BY train_id, arrival_time;
Edytuj i uruchom kod