Variação por dia da semana
O tempo necessário para concluir uma solicitação varia de acordo com o dia da semana em que a solicitação foi criada?
Podemos obter o nome do dia da semana convertendo um carimbo de data/hora em dados de caracteres:
to_char(date_created, 'day')
Mas os nomes dos personagens para os dias da semana são classificados em ordem alfabética, não cronológica. Para obter a ordem cronológica dos dias da semana com um valor inteiro para cada dia, podemos usar:
EXTRACT(DOW FROM date_created)
DOW
significa "dia da semana".
Este exercício faz parte do curso
Análise exploratória de dados em SQL
Instruções de exercício
- Selecione o nome do dia da semana em que a solicitação foi criada (
date_created
) comoday
. - Selecione o tempo médio entre a conclusão da solicitação (
date_completed
) e a criação da solicitação comoduration
. - Agrupe por
day
(o nome do dia da semana) e o valor inteiro do dia da semana (use uma função). - Ordene pelo valor inteiro do dia da semana usando a mesma função usada em
GROUP BY
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
-- 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(___ ___ ___);