我有一张包含购买时间信息的表格。(用户买了一些东西......)
我需要创建一个间隔为 5 分钟的时间线,我需要在这 5 分钟的窗口中计算 - 进行了多少购买(计数) - (不需要按用户分组))
起点 = @startCheckingTime
其值为 08:00:00
终点=一天的结束。(如果 :或小于第二天 at无关紧要xx:59:59
00:00:00
)
表格是:
DECLARE @startCheckingTime DATETIME
SET @startCheckingTime='2010-01-01 08:00:00'
declare @t table
(
d DATETIME
)
INSERT INTO @t
SELECT '2010-01-01 08:02:00'
UNION ALL
SELECT '2010-01-01 08:04:00'
UNION ALL
SELECT '2010-01-01 08:05:00'
UNION ALL
SELECT '2010-01-01 08:06:00'
UNION ALL
SELECT '2010-01-01 08:07:00'
UNION ALL
SELECT '2010-01-01 08:12:00'
所以结果应该是:
08:05:00 | 3 //in the last 5 min we had 3 purchases
08:10:00 | 2
08:15:00 | 1
问题 :
为了做到这一点,我是否必须创建一个临时表(或表变量),它具有从 08:00:00 到一天结束的所有时间间隔?(通过加入)
或者,这可以在没有包含所有可能值的表格的帮助下完成
谢谢。
ps 如果一个值恰好在 xx:05:00 ,它属于哪个窗口并不重要,只要它对所有项目都相同