Это результат запроса во временной таблице, созданной в сложной хранимой процедуре в 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-end в месяц вместо этого. Используйте 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;