首页 > 解决方案 > 如何在雪花中获取过去 24 个月的雪花数据

问题描述

我在 Snowflake 中有当月的数据,我正在使用下面提到的查询提取这些数据

select distinct HPOLICY
              , ANNUALPREMIUMAMOUNT
              , year(dateadd(year, 0, CURRENT_DATE))
              , month(dateadd(month, 0, CURRENT_DATE)) yearmonth
from hub_test

我想将此数据外推到过去 24 个月,这意味着获得与 2019 年 9 月、2019 年 8 月等相同的数据,直到过去 24 个月。

标签: snowflake-cloud-data-platformsnowsql

解决方案


该查询是获取所有时间不同的数据,并在其上放置一个假的当前年/月列。

如果你在哪里做类似的事情:

select distinct HPOLICY
    ,ANNUALPREMIUMAMOUNT
    ,date_part('year', date_column) as year
    ,date_part('month', date_column) as month 
from hub_test
where date_column >= date_trunc('month',CURRENT_DATE());

如果date_column是行中数据的 date_of,您将拥有当前月份的数据。

因此,要获得过去 24 个月,您可以将其更改为:

select distinct HPOLICY
    ,ANNUALPREMIUMAMOUNT
    ,date_part('year', date_column) as year
    ,date_part('month', date_column) as month 
from hub_test
where date_column >= dateadd('month',-24, date_trunc('month',CURRENT_DATE()));

推荐阅读