Вычислите время прибытия в минутах
Как разработчик, ориентированный на данные, вы можете столкнуться с необходимостью представить информацию в более удобном для пользователей виде.
Таблица train_schedule содержит время прибытия и названия станций для двух железнодорожных маршрутов. Данные получены для пригородного маршрута, следующего между Сан-Франциско и городами к югу от него.
Вы входите в команду, которая разрабатывает приложение для удобного отображения расписания поездов. Одна из запрошенных функций — возможность быстро узнать, сколько времени занимает поездка от первой станции маршрута до каждой последующей.
Это упражнение является частью курса
Анализ временных рядов в 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;