Zmienność według dnia tygodnia
Czy czas potrzebny do realizacji zgłoszenia zależy od dnia tygodnia, w którym zostało ono utworzone?
Nazwę dnia tygodnia można uzyskać, konwertując znacznik czasu na dane tekstowe:
to_char(date_created, 'day')
Nazwy dni tygodnia są jednak sortowane alfabetycznie, a nie chronologicznie. Aby posortować dni tygodnia w kolejności chronologicznej, przypisując każdemu z nich wartość całkowitą, możemy użyć:
EXTRACT(DOW FROM date_created)
DOW to skrót od „day of week" (dzień tygodnia).
To ćwiczenie jest częścią kursu
Eksploracyjna analiza danych w SQL
Instrukcje do ćwiczenia
- Wybierz nazwę dnia tygodnia, w którym utworzono zgłoszenie (
date_created), jakoday. - Wybierz średni czas między zakończeniem zgłoszenia (
date_completed) a jego utworzeniem jakoduration. - Pogrupuj wyniki według kolumny
day(nazwy dnia tygodnia) oraz całkowitej wartości liczbowej dnia tygodnia (użyj odpowiedniej funkcji). - Posortuj wyniki według całkowitej wartości liczbowej dnia tygodnia, korzystając z tej samej funkcji co w
GROUP BY.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- Select name of the day of the week the request was created
SELECT ___(___, ___) AS day,
-- Select avg time between request creation and completion
___(___ - ___) AS duration
FROM evanston311
-- Group by the name of the day of the week and
-- integer value of day of week the request was created
GROUP BY day, EXTRACT(___ ___ ___)
-- Order by integer value of the day of the week
-- the request was created
ORDER BY EXTRACT(___ ___ ___);