2016-09-21 39 views
0

我想從每小時的值構建總和。 見截圖:SQL:如何使用空構建每天的總和

Screenshot SQL

對於這一點,我用 「日期部分」。 現在,我想從時間戳格式的日期部分這些值。 此外,我想填補一天的其他時間,所以我想每天有24行。

你能幫助我嗎?

回答

0

首先,創建一個Numbers Table

那麼做到這一點:

select N1.Number, 
     sum(case when P2.Typ = 'outbound' then 1 else 0 end) as Outbound, 
     sum(case when P2.Typ = 'inbound' then 1 else 0 end) as Inbound 

from Numbers N1 
left join #pstntable P2 
    on N1.Number = DatePart(hh, P2.Date) 
    and P2.Date between @_StartTime and @_EndTime 

where N1.Number <= 24 

group by N1.Number 
+0

謝謝您的回答! 如何製作具有以下字段的數字表格: 時間 2016-09-22 01:00:00 2016-09-22 02:00:00 2016-09-22 03:00:00 2016 -09-22 04:00:00 2016-09-22 05:00:00 2016-09-22 06:00:00 2016-09-22 07:00:00 2016-09-22 08: 00:00 2016-09-22 09:00:00 依此類推...... – Patrik

+0

@Patrik你不想。這裏的想法是,你有一個數字表,你可以在任何你喜歡的日子裏使用。如果您希望完整的日期出現在列中,請在選擇中執行此操作 – JohnHC