首页 新闻 搜索 专区 学院

Mysql如何按时间分组统计数据?

0
[待解决问题]

需求是统计某一列每8小时内的平均数,请问各位大佬们,sql应该怎么写?

上清天枢子的主页 上清天枢子 | 初学一级 | 园豆:115
提问于:2020-09-27 18:07
< >
分享
所有回答(1)
0

思路是:
1、以时间维度,根据左右截取,获取到时间对于的年月日 :LEFT(creat_date,10)
2、以时间维度,根据左右截取,获取到时间对于的 时在与8相除取整 RIGHT((LEFT(creat_date,13)),2) DIV 4
3、第一步和第二步获取到数据拼接为一个新的字段,就构成了8个小时一个关键词字段
CONCAT(LEFT(creat_date,10),':',RIGHT((LEFT(creat_date,13)),2) DIV 4) as timeSlot
4、通过上面三不,第四步就简单了,就是一个分组查询取平均值即可完成
SELECT AVG(求平均字段), CONCAT(LEFT(creat_date,10),':',RIGHT((LEFT(creat_date,13)),2) DIV 4) as timeSlot FROM 被处理的表
GROUP BY timeSlot;

程序员修炼之旅 | 园豆:729 (小虾三级) | 2020-09-28 11:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册