Variación por día de la semana
¿Varía el tiempo necesario para completar una solicitud según el día de la semana en que se creó la solicitud?
Podemos obtener el nombre del día de la semana convirtiendo una marca de tiempo en un dato de carácter:
to_char(date_created, 'day')
Pero los nombres de los personajes para los días de la semana se ordenan por orden alfabético, no cronológico. Para obtener el orden cronológico de los días de la semana con un valor entero para cada día, podemos utilizar
EXTRACT(DOW FROM date_created)
DOW
significa "day of week" o día de la semana.
Este ejercicio forma parte del curso
Análisis exploratorio de datos en SQL
Instrucciones del ejercicio
- Selecciona el nombre del día de la semana en que se creó la solicitud (
date_created
) comoday
. - Selecciona el tiempo medio entre la finalización de la solicitud (
date_completed
) y la creación de la solicitud comoduration
. - Agrupa por
day
(el nombre del día de la semana) y el valor entero del día de la semana (utiliza una función). - Ordena por el valor entero del día de la semana utilizando la misma función que en
GROUP BY
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
-- 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(___ ___ ___);