計算到站時間(分鐘)
身為以資料為基礎的開發者,你可能需要讓資訊更容易被使用者取得。
資料表 train_schedule 提供兩條鐵道路線的到站時間與車站名稱。這是根據一條往返舊金山與其南方城市的通勤鐵路資料整理而成。
你是開發團隊的一員,正在製作一個讓通勤族更容易查詢時刻表的應用程式。產品希望新增的一項功能,是提供一個選項,能一眼看出從該路線的第一站到後續各站需要花多少時間。
本練習屬於課程
PostgreSQL 的時間序列分析
練習說明
- 在 common table expression 中,針對每條路線取得第一個
arrival_time,也就是該路線第一個車站的到站時間。 - 使用
EXTRACT(),計算各站相對於路線第一站的到站時間差,以分鐘為單位,並取整數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- 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;