开始使用免费开始使用

查找缺失日期

generate_series() 函数可用于识别缺失的日期。

回顾:

generate_series(from, to, interval)

其中 fromto 是 date 或 timestamp,interval 可以用包含数值与时间单位的字符串表示,例如 '1 month'

Evanston 311 数据中是否存在某些天没有创建任何请求?

本练习是课程的一部分

SQL 中的探索性数据分析

查看课程

练习说明

  1. 使用 generate_series() 编写子查询,获取 evanston311 表中 date_createdmin()max() 之间的所有日期。
  2. 再写一个子查询,从 evanston311 中选择所有 date_created 的值并转换为 date。
  3. 两个子查询都应产生 date 类型的值(留意 ::)。
  4. 从第一个子查询中选择在第二个子查询结果中 NOT IN 的日期(day)。这将得到未出现在 date_created 中的日期。

交互式实操练习

通过完成这段示例代码来试试这个练习。

SELECT day
-- 1) Subquery to generate all dates
-- from min to max date_created
  FROM (SELECT generate_series(___(___),
                               ___(___),
                               ___)::___ AS day
          -- What table is date_created in?
          FROM ___) AS all_dates
-- 4) Select dates (day from above) that are NOT IN the subquery
 WHERE day ___ 
       -- 2) Subquery to select all date_created values as dates
       (SELECT ___::___
          FROM evanston311);
编辑并运行代码