Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • I den gemensamma tabelluttrycket hämtar du den första arrival_time fö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;
Redigera och kör kod