在PostgreSQL中有类似的函数generate_array吗?

时间:2018-08-02 18:50:15

标签: sql postgresql google-bigquery

这是我的查询参考:

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语法不太熟悉。

1 个答案:

答案 0 :(得分:2)

您可以在PostgreSQL中使用类似下面的内容来生成随机整数数组,例如

select array_agg(round(random() * (max - min)) + min) 
from generate_series(0, elements)     

注意:generate_series function具有许多签名,可让您控制将要得到的东西