Преобразование из Teradata в Snowflake SQL - PullRequest
0 голосов
/ 04 апреля 2019

У меня проблемы с преобразованием кода раздела из Teradata в Snowflake. В коде раздела есть функция сброса.Могу ли я знать, как снежинка

SUM(1) OVER (PARTITION BY acct_id ORDER BY  snap_dt RESET WHEN reset_flag = 1 ROWS UNBOUNDED PRECEDING)

1 Ответ

0 голосов
/ 04 апреля 2019

Вы можете переписать его, используя две вложенные функции:

SELECT ...
    ROW_NUMBER()
    OVER (PARTITION BY acct_id, new_part -- add new_part to the existing partition  
          ORDER BY snap_dt
          ROWS UNBOUNDED PRECEDING)
    FROM
     (
       SELECT -- returns the same value for all rows within a group
          SUM(CASE WHEN reset_flag = 1 THEN 1 ELSE 0 END)
          OVER (PARTITION BY acct_id 
                ORDER BY snap_dt
                ROWS UNBOUNDED PRECEDING) AS new_part
       ...
     ) AS dt
...