Tính thời gian đến tính bằng phút
Là một nhà phát triển dựa trên dữ liệu, bạn có thể cần làm cho thông tin dễ tiếp cận hơn với người dùng.
Bảng train_schedule cung cấp thời gian đến và tên ga cho hai tuyến tàu. Dữ liệu này dựa trên một tuyến tàu ngoại ô chạy giữa San Francisco và các thành phố ở phía nam.
Bạn là thành viên của nhóm phát triển một ứng dụng giúp thông tin lịch tàu hữu ích hơn cho người đi làm. Một tính năng nhóm yêu cầu là tùy chọn cho phép xem nhanh mất bao lâu để đi từ điểm dừng đầu tiên của tuyến đến các điểm dừng tiếp theo.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian trong PostgreSQL
Hướng dẫn bài tập
- Trong common table expression, lấy
arrival_timeđầu tiên cho mỗi tuyến tàu, tương ứng với thời gian đến tại ga đầu tiên trên tuyến. - Dùng
EXTRACT()để tính độ chênh lệch thời gian đến của mỗi ga so với ga đầu tiên trên tuyến, tính theo số phút nguyên.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- 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;