Variasi menurut hari dalam seminggu
Apakah waktu yang dibutuhkan untuk menyelesaikan sebuah permintaan berbeda-beda tergantung hari dalam minggu saat permintaan dibuat?
Kita bisa mendapatkan nama hari dalam seminggu dengan mengonversi timestamp menjadi data karakter:
to_char(date_created, 'day')
Namun, nama hari dalam bentuk karakter akan diurutkan secara alfabet, bukan kronologis. Untuk mendapatkan urutan kronologis hari dalam seminggu dengan nilai bilangan bulat untuk setiap hari, kita dapat menggunakan:
EXTRACT(DOW FROM date_created)
DOW adalah singkatan dari "day of week".
Latihan ini adalah bagian dari kursus
Analisis Data Eksploratif di SQL
Petunjuk latihan
- Pilih nama hari dalam seminggu saat permintaan dibuat (
date_created) sebagaiday. - Pilih waktu rata-rata antara penyelesaian permintaan (
date_completed) dan pembuatan permintaan sebagaiduration. - Kelompokkan menurut
day(nama hari dalam seminggu) dan nilai bilangan bulat untuk hari dalam seminggu (gunakan sebuah fungsi). - Urutkan berdasarkan nilai bilangan bulat hari dalam seminggu menggunakan fungsi yang sama seperti pada
GROUP BY.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- 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(___ ___ ___);