SQL求多天中每小时平均值

AllenerM 2016-06-18 10:43:54
数据格式如下:
datetime varchar
2015/2/25 09:34:00 1.97
2015/2/25 09:36:00 1.96
2015/2/25 09:54:00 1.85
2015/2/25 09:56:00 1.83
2015/2/25 09:58:00 1.82
2015/2/25 10:00:00 1.81
2015/2/25 10:02:00 1.81
2015/2/25 10:26:00 1.67
2015/2/25 10:28:00 1.66
2015/2/25 10:30:00 1.65
2015/2/25 10:32:00 1.63
2015/2/25 10:38:00 1.6
2015/2/25 10:40:00 1.59
2015/2/25 10:54:00 1.49
2015/2/25 10:56:00 1.48
2015/2/25 10:58:00 1.47
2015/2/25 11:00:00 1.46
2015/2/25 11:02:00 1.45
2015/2/25 11:04:00 1.44
2015/3/12 05:00:00 3.15
2015/3/12 05:02:00 3.15
2015/3/12 05:04:00 3.15
2015/3/12 05:06:00 3.15
2015/3/12 05:08:00 3.15
2015/3/12 05:10:00 3.15
2015/3/12 05:12:00 3.15
2015/3/12 05:14:00 3.15
2015/3/12 05:16:00 3.15
2015/3/12 05:18:00 3.14
2015/3/12 05:20:00 3.14
2015/3/12 05:22:00 3.14
2015/3/12 05:28:00 3.13
2015/3/12 05:30:00 3.13
2015/3/12 05:32:00 3.11
2015/3/12 05:34:00 3.1
2015/3/12 05:36:00 3.1
求每小时的平均值,结果格式为
yyyy/m/dd hh:00:00 avg
...全文
1059 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
滨子 2016-06-20
  • 打赏
  • 举报
回复
经验证二楼正解
jjpweb 2016-06-20
  • 打赏
  • 举报
回复
支持楼上答案。
道玄希言 2016-06-19
  • 打赏
  • 举报
回复

;with tbl as 
(
Select CONVERT(varchar(13), dt, 120) + ':00:00' as dt, val  from 数据表
)

select CONVERT(datetime, dt), avg(val) as [avg] from tbl
group by dt

磐赢 2016-06-19
  • 打赏
  • 举报
回复
将时间字段截到小时部分,然后进行分组累加,最后再计算平均,需要二层SQL。你所说的平均是多天24小时平均,还是现有小时平均?如果是多天24小时平均,需要获取最大与最小日期相减再X24算平均。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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