SQL Server - 按小时查询,多天查询

Mic*_*ael 4 sql sql-server

我希望使用datepart运行SQL查询以将数据拆分为每小时增量,然后使该查询运行多天.目前我只是将日期增加一天,然后运行多个查询.我想知道是否有办法将这个全部合并到一个查询中,该查询将为整个日期范围提供输出.

select datepart(hour, datetime), sum(calls)
from dbo.gateway_concurrent_calls
where datetime between 'MM/DD/YY' and 'MM/DD+1/YY'
group by datepart(hour, datetime)
Run Code Online (Sandbox Code Playgroud)

这将此作为输出.

0   1220
1   569
2   391
3   313
4   161
5   68
6   42
7   24
8   19
9   18
10  23
11  45
12  90
13  311
14  566
15  668
16  688
17  735
18  718
19  729
20  701
21  699
22  683
23  570
Run Code Online (Sandbox Code Playgroud)

Mar*_*c B 8

按日期和小时分组:

select convert(date, datetime), datepart(hour, datetime), sum(calls)
from dbo.gateway_concurrent_calls
where datetime between 'MM/DD/YY' and 'MM/DD+1/YY'
group by convert(date, datetime), datepart(hour, datetime)
Run Code Online (Sandbox Code Playgroud)

  • 除非有一些我不知道的东西,转换应该看起来像`convert(date,datetime)`或者像`cast(datetime as date)`.除此之外,它是+1. (2认同)