2011-12-29 53 views
1

我有一個表,一個時間表,入住和退房時間員工:SQL有多少僱員的工作,集團按小時

ID Date  Check-in  Check out 
1  1-1-2011 11:00  18:00 
2  1-1-2011 11:00  19:00 
3  1-1-2011 16:00  18:30 
4  1-1-2011 17:00  20:00 

現在我想知道有多少員工工作,每(半)小時。 結果我想看看:

Hour Count 
11 2 
12 2 
13 2 
14 2 
15 2 
16 3 
17 3 
18 2,5 
19 1 

每個「一小時」你必須讀作「直到下一個整點」,恩。 11 - > 11:00 - 12:00

任何想法?

回答

0

建立一個附加表,稱爲小時,含有以下數據:

h 
00:00 
00:30 
01:00 
... 
23:30 

然後,運行

Select h as 'hour' ,count(ID) as 'count' from timetable,hours where [Check_in]<=h and h<=[Check_out] group by h 
+0

成爲「H爲‘小時’」的部分是向後,和基團 - 通過在最後失蹤。 – 2011-12-30 02:16:04

+0

這些通常是雙引號,而不是單個引號:'選擇h作爲「小時」 – 2011-12-30 02:52:27