Výpočet doby příjezdu v minutách
Jako vývojář/ka pracující s daty možná budeš potřebovat zpřístupnit informace uživatelům v přehledné podobě.
Tabulka train_schedule obsahuje časy příjezdů a názvy stanic pro dvě vlakové linky. Data pocházejí z příměstské železnice spojující San Francisco s městy na jihu.
Jsi součástí týmu, který vyvíjí aplikaci pro zpřehlednění jízdního řádu pro cestující. Jednou z požadovaných funkcí aplikace je možnost jedním pohledem zjistit, jak dlouho trvá cesta od první zastávky na lince k dalším zastávkám.
Toto cvičení je součástí kurzu
Time Series Analysis in PostgreSQL
Pokyny k cvičení
- Ve společném tabulkovém výrazu (CTE) získej první
arrival_timepro každou vlakovou linku, odpovídající času příjezdu na první stanici dané linky. - Pomocí
EXTRACT()vypočítej relativní rozdíl příjezdu každé stanice oproti první stanici na lince, vyjádřený v celých minutách.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- 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;