Beräkna ankomsttid i minuter
Som datadrivna utvecklare behöver du ibland göra information mer tillgänglig för användare.
Tabellen train_schedule innehåller ankomsttider och stationsnamn för två tåglinjer. Data är hämtad från en pendeltågslinje som trafikerar sträckan mellan San Francisco och städer söder om staden.
Du ingår i ett team som utvecklar en app för att göra tågschemainformationen mer användbar för pendlare. En funktion som efterfrågats är ett alternativ som på ett ögonblick visar hur lång restid det är från första hållplatsen till efterföljande hållplatser.
Den här övningen är en del av kursen
Tidsserieanalys i PostgreSQL
Övningsinstruktioner
- I den gemensamma tabelluttrycket hämtar du den första
arrival_timeför varje tåglinje, vilket motsvarar ankomsttiden vid den första stationen på linjen. - Använd
EXTRACT()för att beräkna den relativa skillnaden för varje stations ankomsttid jämfört med den första stationen på linjen, mätt i hela minuter.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;