这是我的查询参考:
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
)
我尝试了generate_series以及数组函数,但是我对PostgreSQL语法不太熟悉。
答案 0 :(得分:2)
您可以在PostgreSQL中使用类似下面的内容来生成随机整数数组,例如
select array_agg(round(random() * (max - min)) + min)
from generate_series(0, elements)
注意:generate_series function具有许多签名,可让您控制将要得到的东西