开始使用免费开始使用

降采样到每周粒度

管理层想了解 2020 年大家对水疗中心的使用情况。他们希望按周查看结果,包括设施使用的总分钟数、到访人数,以及该周 Customer ID 最大的客户,以判断是否有新客户到来。

我们可以使用 SQL Server 的函数将数据降采样到固定的粒度。例如,DATEPART() 就是一种函数。

本练习是课程的一部分

SQL Server 中的时间序列分析

查看课程

练习说明

  • 使用 DATEPART() 函数将日度水疗访问数据降采样为每周粒度。
  • 找出某一周内 Customer ID 最大的客户。
  • GROUP BY 子句中填入 SELECT 子句里所有未聚合的值(但不要包含类似 AS Week 这样的别名)。

交互式实操练习

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

SELECT
	-- Downsample to a weekly grain
	___(___, dsv.CustomerVisitStart) AS Week,
	SUM(dsv.AmenityUseInMinutes) AS AmenityUseInMinutes,
	-- Find the customer with the largest customer ID for that week
	___(dsv.___) AS HighestCustomerID,
	COUNT(1) AS NumberOfAttendees
FROM dbo.DaySpaVisit dsv
WHERE
	dsv.CustomerVisitStart >= '2020-01-01'
	AND dsv.CustomerVisitStart < '2021-01-01'
GROUP BY
	-- When we use aggregation functions like SUM or COUNT,
    -- we need to GROUP BY the non-aggregated columns
	___(___, dsv.CustomerVisitStart)
ORDER BY
	Week;
编辑并运行代码