希望有人可以协助如何修改以下SQL以实现所需输出中显示的结果。我不熟悉TSQL,但知道足够了解这一点。
我的目标是将我的事件数据和组计为从午夜开始的15分钟时间段,但在特定时间段中没有事件数据时也包括零(0)。将事件分组分成5分钟的时间段
CURENT查询#
;With cte As
(SELECT CONVERT (varchar(5),DATEADD(minute, 15 *
(DATEDIFF(minute, '20000101', I.CreateTimestamp)/15), '20000101'),108)
AS CreationTime, I.IncidentShortReference AS Ref
FROM Incident I
WHERE i.CreateTimestamp between DATEADD(d,-1,GETDATE()) and GETDATE()
)
SELECT CTE.CreationTime, count(CTE.Ref) As Count
FROM cte CTE
GROUP BY CTE.CreationTime
ORDER BY CTE.CreationTime
我的结果
CreationTime count
00:15 2
01:00 1
01:15 1
01:30 1
01:45 2
02:00 1
02:15 1
02:30 4
(Truncated)
所需的输出
CreationTime count
00:15 2
00:30 0
00:45 0
01:00 1
01:15 1
01:30 1
01:45 2
02:00 1
02:15 1
02:30 4
02:45 0
03:00 0
(Truncated)
包括样本数据和期望的输出 –
您的数据只在同一天?如果不是,那么在2天内同一时间呢? – TriV
即使计数我不明白它来自哪里..这只是一个粗略的结果 –