计算到站用时(分钟)
作为一名以数据为驱动的开发者,您可能需要让信息对用户更易理解。
表 train_schedule 提供了两条列车线路的到站时间和车站名称。这些数据基于一条往返于 San Francisco 与其南部城市之间的通勤铁路线路。
您所在的团队正在开发一款应用,帮助通勤者更高效地查看时刻表信息。产品提出的一个功能是:提供一个选项,让用户一眼就能看到从线路的第一站到后续各站需要多长时间。
本练习是课程的一部分
PostgreSQL 中的时间序列分析
练习说明
- 在公共表表达式中,获取每条列车线路的第一个
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;