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
Instrukcje do ćwiczenia
- We wspólnym wyrażeniu tabelarycznym pobierz pierwszy
arrival_timedla 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;