Khoảng gián đoạn dài nhất
Khoảng thời gian dài nhất giữa các yêu cầu 311 của Evanston được gửi là bao lâu?
Nhắc lại cú pháp của lead() và lag():
lag(column_to_adjust) OVER (ORDER BY ordering_column)
lead(column_to_adjust) OVER (ORDER BY ordering_column)
Bài tập này là một phần của khóa học
Phân tích Khám phá Dữ liệu bằng SQL
Hướng dẫn bài tập
- Chọn
date_createdvàdate_createdcủa yêu cầu trước đó bằng cách dùnglead()hoặclag()cho phù hợp. - Tính khoảng thời gian giữa mỗi yêu cầu và yêu cầu trước đó.
- Chọn dòng có khoảng cách lớn nhất.
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.
-- 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);