Как добавить числовое значение в оконную раму в SQLite? - PullRequest
1 голос
/ 28 февраля 2020

У меня возникают трудности с добавлением числового ди git в мою спецификацию windows фрейма в SQLite. Я использую R в SQLITE. Хотя, если вы знаете, как это сделать в SQL, то это также полезно.

Здесь приведена ссылка на документацию по оконной функции sqlite - хотя трудно понять, куда мне следует поместить мое числовое значение.

https://www.sqlite.org/windowfunctions.html

В частности, я смотрю на участок границы кадра.

Я продолжаю получать сообщение об ошибке:

Error: unsupported frame specification 

Есть идеи?

Мой код следующий:

"create temp table forward_looking as 
              SELECT *,  
        COUNT( CASE channel WHEN 'called_office'  THEN 1 ELSE null END)
        OVER (PARTITION by special_digs 
        ORDER BY time 
        RANGE FOLLOWING 604800) 
      AS new_count
      from my_data
    ")

В основном код должен смотреть на столбец времени, который находится в unix времени эпохи, а затем находить 7 дней вперед (что составляет 604800 в unix раз) затем добавьте счетчик к new_count. И делайте это по порядку строка за строкой.

Я думаю, что у меня может быть цифра c в RANGE FOLLOWING части неправильным образом ??

1 Ответ

3 голосов
/ 28 февраля 2020

Я думаю, что вы хотите:

create temp table forward_looking as 
select 
    d.*,  
    count(*) filter(where channel <> 'called_office') over (
        partition by special_digs 
        order by time 
        range between current row and 604800 following
    ) as new_count
from my_data d

То есть для условия range требуется начальная и конечная спецификации (between ... and ...).

Обратите внимание, что я также изменил оконная функция для использования стандартного предложения filter, что делает лог c более очевидным.

...