решению задачи)
есть таблица логирования времени над задачей, отрезки хранятся в периоде 5-10 минут.
user int64
datetime_start Datetime
datetime_end Datetime
seconds int64
activity_percent int64
Как можно сгруппировать интервалы начала и конца по дням, часам, неделям, месяцам?)
Если нужны какие то уточняющие данные, скину)
Итого хочу получить отчет по дням сколько человек отработал
Искал в документации работу с Interval но там ничего интересного для задачи не нашел :(
возможно такое подойдет? select toStartOfInterval(dt_start, INTERVAL 1 day) as dt_start1, toStartOfInterval(dt_end, INTERVAL 1 day) as dt_end1, sum(dt_end - dt_start)/3600, user from (select 1 as user,now() as dt_start, now() + interval 3 hour as dt_end union all select 1 as user,now() + interval 4 hour as dt_start, now() + interval 6 hour as dt_end union all select 2 as user,now() + interval 4 day as dt_start, now() + interval 6 day as dt_end union all select 2 as user,now() + interval 8 hour as dt_start, now() + interval 10 hour as dt_end) as t group by user,dt_start1, dt_end1;
Обсуждают сегодня