ComenzarEmpieza gratis

Media mensual con fechas que faltan

Encuentra el número medio de solicitudes Evanston 311 creadas al día para cada mes de los datos.

Esta vez, no ignores las fechas sin peticiones.

Este ejercicio forma parte del curso

Análisis exploratorio de datos en SQL

Ver curso

Instrucciones de ejercicio

  • Genera una serie de fechas del 2016-01-01 al 2018-06-30.
  • Une la serie a una subconsulta para contar el número de solicitudes creadas por día.
  • Utiliza date_trunc() para obtener los meses de date, que tiene todas las fechas, NOT day.
  • Utiliza coalesce() para sustituir los valores de NULL count por 0. Calcula la media de este valor.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

-- generate series with all days from 2016-01-01 to 2018-06-30
WITH all_days AS 
     (SELECT generate_series(___,
                             ___,
                             ___::___) AS date),
     -- Subquery to compute daily counts
     daily_count AS 
     (SELECT date_trunc('day', date_created) AS day,
             count(*) AS count
        FROM evanston311
       GROUP BY day)
-- Aggregate daily counts by month using date_trunc
SELECT ___ AS month,
       -- Use coalesce to replace NULL count values with 0
       avg(coalesce(___, ___)) AS average
  FROM all_days
       LEFT JOIN daily_count
       -- Joining condition
       ON all_days.___=daily_count.___
 GROUP BY month
 ORDER BY month; 
Editar y ejecutar código