Как передать диапазон дат в предложении where в снежинке при написании запроса

Как передать диапазон дат в предложении where в снежинке при написании запроса и избежать дублирования также при следующем запуске. У меня есть запрос ниже, и мне нужно получать данные за 15 дней каждый день до предыдущего дня. Данные будут переданы в мою окончательную таблицу из приведенного ниже запроса. Мои окончательные данные не должны иметь повторяющихся строк для заданных всех столбцов.

Данные выглядят следующим образом:

{"location": "xyz", "metrics": [{"name": "traffic_in", "data": [{"group": {"start": "2020-07-05", "type": "date"}, "index": 0, "next_level": [{"index": 0, "validity": "complete", "value": 1, "group": {"finish": "00:15 "," начало ":" 00:00 "," тип ":" время " } } ] } ], } ], }

Ниже приведен запрос, который необходимо изменить в соответствии с требованиями:

create or replace TABLE TMP_RN_TC as
(select * from(
               select distinct
                   replace(D_NEXT : location , '"' , '')as  rn_loc_id,
                   mtr.value:name::VARCHAR as  metrics_name,
                   dta.value:group.start::DATE as metrics_event_date,
                   dta.value:index::numeric as metrics_date_index,
                   nxt.value:validity::VARCHAR as metrics_data_validity,
                   nxt.value:value::numeric as metrics_data_value,
                   nxt.value:group.start::time as metrics_data_start_tms,
                   nxt.value:index::numeric as metrics_time_index
           from STG_RN_TC stg,
           lateral flatten(input => stg.D_NEXT:metrics) mtr,
           lateral flatten(input => mtr.value:data) dta,
           lateral flatten(input => dta.value:next_level)nxt)
 ) ;

1 ответ

Обычный способ - поместить ваши данные в промежуточную таблицу с дополнительным столбцом с меткой времени, а затем использовать этот столбец с меткой времени для загрузки данных в конечную таблицу. Существуют и другие передовые способы сбора измененных данных и управления версиями строк таблицы, которые вы можете изучить и реализовать в соответствии с вашим вариантом использования. Вот ссылка.

https://docs.snowflake.com/en/user-guide/streams.html