1
使用SQL Server 2008R2我试图编写一个查询,它将返回特定时间范围内的所有值的总和(在本例中为15分钟的时间间隔)将用于识别缺失的数据(每个服务器应该返回每15分钟12个值)。我已经到了我能找到结果的地步,但我需要一种方法将它们全部结合在同一个查询中。代码下面(日期将通常由变量来定义,在这种情况下,使用2013年9月1日作为示例):SQL Server - 结合来自单个查询的结果
Select SUM(Accounted_for) 'accounted for',date,time,server
from dbmetrics.dbo.tblmissing
where DATE='09/01/2013'
and (TIME between '00:00:00' and '23:59:59')
and SERVER='Server01'
group by DATE, TIME, server , DATEPART(hour,time),
DATEPART(MINUTE,time),DATEPART(second,time)/96
GO
结果沿着这个” 结果回来的返回线看起来像这样
Number Date Time Server
4 2013-09-01 12:00:01.0000000 server01
6 2013-09-01 12:00:02.0000000 server01
2 2013-09-01 12:00:15.0000000 server01
10 2013-09-01 12:15:02.0000000 server01
2 2013-09-01 12:15:09.0000000 server01
我想看到什么会
12 2013-09-01 12:00:00.0000 Server01
12 2013-09-01 12:15:00.0000 Server01
你选择的样本数据的差。每个数据点的分钟恰好以15分钟的时间间隔方便着陆,两个时间框架巧合地加起来为12个。你可以包括几行像'12:03:26.0000000',并确保总和不会'比赛? –
另外,是否有任何原因的日期和时间组件分开存储? – Kermit
如果您需要四舍五入到最接近的15分钟时间间隔,您可能需要查看[this](http://stackoverflow.com/questions/830792/t-sql-round-to-nearest-15-分钟间隔)。 – Kermit