เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

คำนวณเวลาเดินทางถึงเป็นนาที

ในฐานะนักพัฒนาที่ขับเคลื่อนด้วยข้อมูล บางครั้งจำเป็นต้องนำเสนอข้อมูลให้ผู้ใช้เข้าถึงได้ง่ายขึ้น

ตาราง 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;
แก้ไขและรันโค้ด