Variazione per giorno della settimana
Il tempo necessario per completare una richiesta varia in base al giorno della settimana in cui è stata creata?
Possiamo ottenere il nome del giorno della settimana convertendo un timestamp in dati di tipo carattere:
to_char(date_created, 'day')
Ma i nomi dei giorni della settimana in formato testuale vengono ordinati alfabeticamente, non cronologicamente. Per ottenere l’ordine cronologico dei giorni della settimana con un valore intero per ciascun giorno, possiamo usare:
EXTRACT(DOW FROM date_created)
DOW sta per "day of week" (giorno della settimana).
Questo esercizio fa parte del corso
Analisi esplorativa dei dati in SQL
Istruzioni dell'esercizio
- Seleziona il nome del giorno della settimana in cui è stata creata la richiesta (
date_created) comeday. - Seleziona il tempo medio tra il completamento della richiesta (
date_completed) e la creazione della richiesta comeduration. - Raggruppa per
day(il nome del giorno della settimana) e per il valore intero del giorno della settimana (usa una funzione). - Ordina per il valore intero del giorno della settimana usando la stessa funzione utilizzata in
GROUP BY.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
-- 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(___ ___ ___);