2012-03-19 102 views
0

我在数据库中有三个字段day, hour, value每个小时值都会存储在数据库中。 现在我想每四小时取平均值。有一天我需要获得6行,每行包含4小时平均值。sql中每四个小时的平均数据?

可否请你帮我解决这个问题。 this is my table data

this is my result with your query它不正确的权利?

回答

2
select day 
,  (hour - 1) DIV 4 /* or: (h + 3) DIV 4 */ 
,  avg(value) 
from YourTable 
group by 
     day 
,  (hour - 1) DIV 4 
+0

如果我带1,2,3,4,5,6,7,8,9,10,11, 12 ... 24小时,并运行查询它是给14.000,11.000,12.000,13.000是怎么回事? – 2012-03-19 21:23:42

+0

@RameshK:请尝试更新的答案。 – 2012-03-19 21:48:10

+0

非常感谢你.. – 2012-03-19 21:58:39

0

精确一样Andomar的只是使用整数除法运算符:

select day 
,  hour div 4 
,  avg(value) 
from YourTable 
group by 
     day 
,  hour div 4