按星期几的差异
完成一个请求所需的时间,是否会因创建该请求的星期几而不同?
我们可以通过将时间戳转换为字符数据来获取星期几的名称:
to_char(date_created, 'day')
但星期名称按字母顺序排序,而不是按时间顺序。要按时间顺序获取星期几,并为每一天提供一个整数值,可以使用:
EXTRACT(DOW FROM date_created)
DOW 代表 "day of week"(星期几)。
本练习是课程的一部分
SQL 中的探索性数据分析
练习说明
- 选择请求创建时间(
date_created)对应的星期名称,命名为day。 - 选择请求完成时间(
date_completed)与创建时间之间的平均时长,命名为duration。 - 按
day(星期名称)以及星期几的整数值(使用函数获取)进行分组。 - 使用与
GROUP BY中相同的函数,按星期几的整数值排序。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- 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(___ ___ ___);