我需要生成一个 SQL 报告,显示一天中每个小时内特定事件发生的次数。我的表上有一个日期/时间列,其中包含事件发生的时间。
如何计算一天中每个小时内的行数?
所以我需要看到这样的输出......
10:00 - 11:00 12 次
11.00 - 12:00 53 次
12:00 - 13:00 5 次等
我猜这将是一个分组依据,但你如何按小时分组?提前致谢。
我需要生成一个 SQL 报告,显示一天中每个小时内特定事件发生的次数。我的表上有一个日期/时间列,其中包含事件发生的时间。
如何计算一天中每个小时内的行数?
所以我需要看到这样的输出......
10:00 - 11:00 12 次
11.00 - 12:00 53 次
12:00 - 13:00 5 次等
我猜这将是一个分组依据,但你如何按小时分组?提前致谢。
SELECT DATEPART(hh, DateTimeColumn), COUNT(*)
FROM
TableName
GROUP BY
DATEPART(hh, DateTimeColumn)
ORDER BY
DATEPART(hh, DateTimeColumn)
Seans 解决方案仅适用于 24 小时的数据,因为 datepart dd 仅返回 0-23。
如果您需要处理更多,您也需要在当天添加。
就像是:
SELECT CAST(DateTimeColumn AS INT) [day],DATEPART(hh, DateTimeColumn), COUNT(*)
FROM
TableName
GROUP BY
CAST(DateTimeColumn AS INT),
DATEPART(hh, DateTimeColumn)
ORDER BY
CAST(DateTimeColumn AS INT),
DATEPART(hh, DateTimeColumn