2013-10-16 48 views
0

我有一個表,它看起來像你可以看到下面:如何統計一段時間(日期時間和日期時間)字段中每半小時的記錄數?

​​

我需要每半小時的記錄數存在計算,輸出應該是這樣的:

Time  Actual Count: 
7:00  4 
7:30  4 
8:00  4 
8:30  4 
9:00  4 
9:30  5 
10:00  5 
10:30  6 
11:00  7 
11:30  8 
12:00  8 
12:30  8 
13:00  8 
13:30  8 
14:00  8 
14:30  8 
15:00  7 
15:30  7 
16:00  7 
16:30  6 
17:00  5 
17:30  4 
18:00  4 

我已經嘗試過做一個應該保持每半小時一次的幫助桌。我已經加入了這個包含數據的表的helpertable,之後我嘗試使用一個按功能分組,但它不起作用。

我的查詢是這樣的:

Create table period (timefrom datetime, timeto datetime) 
insert into period 
select '1899-12-30 07:00:00.000', '1899-12-30 07:30:00.000' 
Union all 
select '1899-12-30 07:30:00.000', '1899-12-30 08:00:00.000' 


select * 
from period p left join table1 t on t.ActualTimeFrom < p.timeto and t.ActualTimeTo >=p.timefrom 

Grouping this give me no desired result.... 

任何一個想法如何得出的結果?

P.s.我使用SQL Server 2005的

回答

0

周圍窺探和我身邊的測試之後,貌似這個日期的功能可能是答案:

DATEADD(mi,DATEDIFF(mi,0,YOUR_DATE_COLUMN)/30*30,0) 
+0

我應該用這條線的組中的部分?請將您的答案具體化爲... – Amedo

+0

在您的SELECT和GROUP BY中使用它,在WHERE子句中指定您的日期範圍。例如WHERE your_date_column> your_start_date AND your_date_column

相關問題