Calculează timpul de sosire în minute
Ca dezvoltator orientat spre date, s-ar putea să ai nevoie să faci informațiile mai accesibile pentru utilizatori.
Tabelul train_schedule conține orele de sosire și numele stațiilor pentru două linii de tren. Datele provin de la o linie de tren suburban care circulă între San Francisco și orașele din sudul acestuia.
Faci parte dintr-o echipă care dezvoltă o aplicație menită să facă orarul trenurilor mai util pentru navețiști. Una dintre funcțiile solicitate pentru aplicație este o opțiune prin care utilizatorii pot vedea dintr-o privire cât durează călătoria de la prima stație a liniei până la stațiile următoare.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în PostgreSQL
Instrucțiuni pentru exercițiu
- În expresia de tip tabel comun (CTE), obține primul
arrival_timepentru fiecare linie de tren, corespunzător orei de sosire în prima stație de pe linie. - Folosind
EXTRACT(), calculează diferența relativă a orei de sosire a fiecărei stații față de prima stație de pe linie, exprimată în minute întregi.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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;