【发布时间】:2014-10-04 03:56:42
【问题描述】:
我有一个包含 Datetime2 的列,需要提取、汇总和格式化小时,以便它具有 AM/PM。
下表显示了每天的客户访问次数: 我需要对小时进行分组,以便汇总下午 1 点范围内的所有时间。
处理前:
CustomerID Arrival
1 1:15 PM
2 1:20 PM
3 1:30 PM
4 2:00 PM
5 2:05 PM
6 2:13 PM
我需要输出看起来像下面的格式: 注:每小时访问是一个小时范围内访问的客户总数。所以 3 客户 在下午 1 点访问过,在下午 2 点访问过 3 个。
HourlyVisit Arrival
3 1:00 PM
3 2:00 PM
我尝试了这段代码,我得到了小时数,它是汇总的,但我需要将小时数转换成更易读的格式。
WITH CTE AS
(
SELECT CustomerID = COUNT(CustomerID),
HourlyFrequency = DATENAME(HOUR, Arrival)
FROM MySchema.MyTable
GROUP BY Arrival
)
SELECT HourlyVisit = SUM(CustomerID), HourlyFrequency
FROM CTE
GROUP BY HourlyFrequency
【问题讨论】:
-
你想要的输出是什么?
-
@AdamWenger:我已将其添加到问题中,它被标记为;之后。
标签: sql-server tsql