Najdłuższa przerwa
Jaki jest najdłuższy czas między kolejnymi zgłoszeniami do Evanston 311?
Przypomnij sobie składnię funkcji lead() i lag():
lag(column_to_adjust) OVER (ORDER BY ordering_column)
lead(column_to_adjust) OVER (ORDER BY ordering_column)
To ćwiczenie jest częścią kursu
Eksploracyjna analiza danych w SQL
Instrukcje do ćwiczenia
- Wybierz
date_createdoraz datę poprzedniego zgłoszenia (date_created) przy użyciu funkcjilead()lublag()– w zależności od potrzeby. - Oblicz przerwę między każdym zgłoszeniem a poprzednim.
- Wybierz wiersz z maksymalną przerwą.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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);