开始使用免费开始使用

降采样到每日粒度

将数据汇总到更高的粒度是常见的分析任务。我们可能拥有带有具体时间戳的数据集,但需要查看聚合后的结果。在 SQL Server 中,可用的技术有多种,取决于您所需的粒度。

在这些练习中,我们将使用一家虚构的日间水疗会所。管理层向潜在新客户发送了 2020 年 6 月 16 日至 20 日期间可用的优惠券,并希望了解这次活动是否带动了新的来访。

在本练习中,我们将采用最简单的降采样技术之一:将 DATETIME2DATETIME 类型转换为只有日期、没有时间部分的数据类型:DATE

本练习是课程的一部分

SQL Server 中的时间序列分析

查看课程

练习说明

  • 将客户来访开始时间降采样到每日粒度并聚合结果。
  • 在 GROUP BY 子句中填写 SELECT 子句里所有未聚合的值(但不要包含类似 AS Day 的别名)。

交互式实操练习

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

SELECT
	-- Downsample to a daily grain
    -- Cast CustomerVisitStart as a date
	___(dsv.CustomerVisitStart AS ___) AS Day,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-06-11'
	AND dsv.CustomerVisitStart < '2020-06-23'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(dsv.CustomerVisitStart AS ___)
ORDER BY
	Day;
编辑并运行代码