ช่วงห่างที่ยาวที่สุด
ช่วงเวลาที่นานที่สุดระหว่างคำร้อง Evanston 311 แต่ละรายการที่ถูกส่งเข้ามาคือเท่าใด?
ทบทวน syntax ของ lead() และ lag() ได้ที่นี่:
lag(column_to_adjust) OVER (ORDER BY ordering_column)
lead(column_to_adjust) OVER (ORDER BY ordering_column)
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Exploratory Data Analysis ใน SQL
คำแนะนำการฝึกหัด
- เลือก
date_createdและdate_createdของคำร้องก่อนหน้า โดยใช้lead()หรือlag()ตามความเหมาะสม - คำนวณช่วงห่างระหว่างคำร้องแต่ละรายการกับคำร้องก่อนหน้า
- เลือกแถวที่มีช่วงห่างมากที่สุด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
-- Compute the gaps
WITH request_gaps AS (
SELECT date_created,
-- lead or lag
___(date_created) OVER (___) AS previous,
-- compute gap as date_created minus lead or lag
date_created - ___(date_created) OVER (___) AS gap
FROM evanston311)
-- Select the row with the maximum gap
SELECT *
FROM request_gaps
-- Subquery to select maximum gap from request_gaps
WHERE gap = (SELECT ___
FROM request_gaps);