Here's my query for reference:
with weekly_periods as (
select ticket_id,
start_time_in_minutes_from_week,
raw_delta_in_minutes,
schedule_id,
week_number,
greatest(0, start_time_in_minutes_from_week - week_number * (7*24*60)) as ticket_week_start_time,
least(start_time_in_minutes_from_week + raw_delta_in_minutes - week_number * (7*24*60), (7*24*60)) as ticket_week_end_time
from ticket_solved_time, unnest(generate_array(0, floor((start_time_in_minutes_from_week + raw_delta_in_minutes) / (7*24*60)), 1)) as week_number
)
I have tried generate_series and also the array functions, but I am not too familiar with the PostgreSQL syntax.
generate_seriesin PostgreSQL. What is it that you are trying to do? Please provide sample input data and expected output.... from ticket_solved_time, generate_series(0, floor((start_time_in_minutes_from_week + raw_delta_in_minutes) / (7*24*60)), 1) as week_number? Note that the step value 1 is default in this case so it could be omitted.