我正在处理类似于此帖子的内容: TS SQL - group by minute
但是我的是从消息队列中提取的,我需要查看消息队列正在创建/发送的流量的准确计数,以及何时
Select * From MessageQueue mq
我的扩展版本如下:A)用户定义开始时间和结束时间(使用 Declare 的 @StartTime 和 @EndTime 很容易
B)给用户选择“分组”的选项。它会被 1 分钟、5 分钟、15 分钟或 30 分钟(最大)打破吗?(我曾想过用 CASE 语句来做到这一点,但我的测试问题在我身上分崩离析。)
C) 显示数据以准确显示所选间隔(分组)期间发生的事情的计数。
这就是我目前所处的位置
SQL 块:
DECLARE @StartTime datetime
DECLARE @EndTime datetime
SELECT DATEPART(n, mq.cre_date)/5 as Time --Trying to just sort by 5 minute intervals
,CONVERT(VARCHAR(10),mq.Cre_Date,101)
,COUNT(*) as results
FROM dbo.MessageQueue mq
WHERE mq.cre_date BETWEEN @StartDate AND @EndDate
GROUP BY DATEPART(n, mq.cre_date)/5 --Trying to just sort by 5 minute intervals
, eq.Cre_Date
这是我想要实现的输出:
[Time] [Date] [Message Count]
1300 06/26/2012 5
1305 06/26/2012 1
1310 06/26/2012 100