【发布时间】:2019-08-01 18:56:41
【问题描述】:
我有一个表,其中每 30 分钟写入一次值 我想计算几天内某个时间段的平均值。
CREATE TABLE [dbo].[#TABLE_1](
[numreq] [int] NULL,
[rangetime] [nvarchar](300) NULL
) ON [PRIMARY]
insert into [dbo].[#TABLE_1] values('2','2019-03-10 12:00:00.000')
insert into [dbo].[#TABLE_1] values('3','2019-03-10 12:30:00.000')
insert into [dbo].[#TABLE_1] values('4','2019-03-10 13:00:00.000')
insert into [dbo].[#TABLE_1] values('5','2019-03-10 13:30:00.000')
insert into [dbo].[#TABLE_1] values('6','2019-03-11 12:00:00.000')
insert into [dbo].[#TABLE_1] values('7','2019-03-11 12:30:00.000')
insert into [dbo].[#TABLE_1] values('8','2019-03-11 13:00:00.000')
insert into [dbo].[#TABLE_1] values('9','2019-03-11 13:30:00.000')
我写了一个 sql 查询,但它没有给出想要的结果
select avg([numreq]),[rangetime]
from [dbo].[#TABLE_1]
group by [rangetime]
我想要得到的结果:
numreq rangetime
4 12:00
5 12:30
6 13:00
7 13:30
【问题讨论】:
-
按日期时间字段的时间部分选择和分组。请参阅标记的重复项以了解如何执行此操作。
标签: sql sql-server tsql average