从Teradata转换为Snowflake SQL

问题描述 投票:0回答:1

我很难将分区代码从Teradata转换为Snowflake。分区代码中有重置功能。我可以知道如何雪花

SUM(1) OVER (PARTITION BY acct_id ORDER BY  snap_dt RESET WHEN reset_flag = 1 ROWS UNBOUNDED PRECEDING)
type-conversion teradata reset partition snowflake
1个回答
0
投票

您可以使用两个嵌套函数重写它:

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
© www.soinside.com 2019 - 2024. All rights reserved.