-1

Given a table of data with bitemporal modeling, where there are 2 dates: (i) the date that the data applies to, and (ii) the date at which the fact was known.

City    Temperature  Date         As_of_Datetime
----    -----------  ----         --------------
Boston  32           2022/07/01   2022/06/28 13:23:00
Boston  31           2022/07/01   2022/06/29 12:00:00
Miami   81           2022/07/01   2022/06/28 13:23:00
Miami   85           2022/07/01   2022/06/29 12:00:00

What SQL query will give the latest snapshot of the data date based on the As_of_Datetime? e.g.

City    Temperature  Date         
----    -----------  ----         
Boston  31           2022/07/01   
Miami   85           2022/07/01   
Ramón J Romero y Vigil
  • 17,373
  • 7
  • 77
  • 125

1 Answers1

0
select
  t1.*
from
  temperature_table t1,
  (select max(As_of_Datetime) as max_as_of, “City”, “Date” from temperature_table group by “City”, “Date”) t_temp
where
  t1.”City” = t_temp.”City” and t1.”Date” = t_temp.”Date” and t1.”As_of_Datetime” = t_temp.”max_as_of”
order by
  t1.”City”, t1.”Date”
Ramón J Romero y Vigil
  • 17,373
  • 7
  • 77
  • 125