generate_series() method fails in Redshift

前端 未结 7 1467
时光说笑
时光说笑 2020-11-27 22:01

When I run the SQL Query:

 select generate_series(0,g)
 from ( select date(date1) - date(date2) as g from mytable ;

It returns an error:

7条回答
  •  借酒劲吻你
    2020-11-27 22:31

    You will need to use functions that are supported by the leader node. The trick is to use the row_number() function from any table that you want. Let's say that we want to generate a date-series from 10 days ago up tp now:

       SELECT DATEADD('day', -n, (CURRENT_DATE+1)) AS generated_date
       FROM (SELECT ROW_NUMBER() OVER () AS n FROM my_table LIMIT 10) n
       ORDER BY generated_date DESC
    

    And we get:

    generated_date
    2020-06-24 00:00:00
    2020-06-23 00:00:00
    2020-06-22 00:00:00
    2020-06-21 00:00:00
    2020-06-20 00:00:00
    2020-06-19 00:00:00
    2020-06-18 00:00:00
    2020-06-17 00:00:00
    2020-06-16 00:00:00
    2020-06-15 00:00:00
    

提交回复
热议问题