繁体   English   中英

将月份拆分为4并获取每天的平均值

[英]Split months into 4 and retrieve the average value per day

这是在MySQL的复杂存储过程中创建的临时表上查询的输出:

在此处输入图片说明

现在的目标是像我们这里一样拥有每天的平均时长,但每个月的平均时长

所以,我想每个月参加并把它分成4组天, 每天的平均持续时间。
因此,无论一个月中有多少天,我都会有4个值。

我怎样才能做到这一点 ?

注意:如果更简单,我可以使用php来完成,因为我将使用这种语言的数据。

您有一个每天分组的查询,例如:

select 
  the_date as day,
  sec_to_time(avg(timestampdiff(second, start_time, end_time))) as duration
from ...
group by the_date;

您需要每月1-7、8-14、15-21、22天结束。 使用CASE WHEN构建组。

select 
  year(the_date) as year,
  month(the_date) as month,
  case 
    when day(the_date) <=  7 then '01-07'
    when day(the_date) <= 14 then '08-14'
    when day(the_date) <= 21 then '15-21'
    else                          '22-end'
  end as day_range,
  sec_to_time(avg(timestampdiff(second, start_time, end_time))) as duration
from ...
group by year, month, day_range
order by year, month, day_range;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM