【发布时间】:2022-06-19 02:42:58
【问题描述】:
给定一个包含 bitemporal modeling 的数据表,其中有 2 个日期:(i) 数据适用的日期,以及 (ii) 已知事实的日期时间
City Temp Date As_of_Datetime
——— ———- ———- -——————-
Boston 32 2022/07/01 2022/06/28 13:23:00
Boston 31 2022/07/01 2022/06/29 13:23:00
Miami 74 2022/07/01 2022/06/28 13:23:00
Miami 75 2022/07/01 2022/06/29 13:23:00
哪个雪花查询会根据最近的 As_of_Datetime 提供每个日期的最新数据快照?
预期的结果是
City Temp Date
Boston 31 2022/07/01
Miami 75 2022/07/01
我尝试使用 last_value 函数
select City, Date, last_value(Temp) over (partition by City, Date order by As_of_Datetime) as Temp
from temperature_table
order by City, Date
但这会产生重复的行,其中重复相同的最后一个值:
Boston 31 2022/07/01
Boston 31 2022/07/01
Miami 75 2022/07/01
Miami 75 2022/07/01
理想情况下,每个 (City, Date) 组合应该只返回 1 行。
提前感谢您的考虑和回复。
【问题讨论】:
标签: snowflake-cloud-data-platform bi-temporal point-in-time