【【谁能告诉我SQL中怎么按时间段求平均值】】

may_kid 2012-12-21 03:25:59
表:ash
value time
23 2006-12-26 10:58:00
33 2006-12-26 10:59:00
45 2006-12-26 11:00:00
34 2006-12-26 10:01:00
24 2006-12-26 10:02:00
....
我现在想把每5分钟段内求一个平均值
结果:
时间段 平均值
2006-12-26 10:55:00 37
2006-12-26 11:00:00 33
2006-12-26 11:05:00 36
2006-12-26 11:10:00 39
...全文
466 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
may_kid 2012-12-22
  • 打赏
  • 举报
回复
自己解决了。。 select dateadd(minute,-datepart(minute,time)%5,convert(varchar(16),time,120)) as time,avg(p) as p from his_yc where datepart(minute,time) between 0 and 59 group by dateadd(minute,-datepart(minute,time)%5,convert(varchar(16),time,120))
KevinLiu 2012-12-21
  • 打赏
  • 举报
回复
应该要先将时间更新到每个固定的区间才可以计算,可以用DATEPART查询分钟然后计算获得正确的时间区间
Oliver5914 2012-12-21
  • 打赏
  • 举报
回复
create table t_1 ( value int,times datetime ) insert into t_1 select 23,'2006-12-26 10:58:00' union select 33, '2006-12-26 10:59:00' union select 45 ,'2006-12-26 11:00:00' union select 34, '2006-12-26 10:01:00' union select 24, '2006-12-26 10:02:00' select avg(value),dateadd(mi,times*5,'1990-01-01 00:00:00') from ( select value,DATEDIFF(mi,'1990-01-01 00:00:00',times)/5 as times from t_1)a group by times

22,208

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧