Определяемая пользователем оконная функция SQLite в Python - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь использовать новые оконные функции SQLite в приведенном ниже запросе с использованием Python API БД sqlite3 .

Я собираюсь вычислить стандарт отклонения для каждого окна, однако это не реализовано в стандартном SQLite. Следовательно, мне нужно зарегистрировать пользовательскую функцию. К сожалению, агрегатные функции - которые я могу зарегистрировать в sqlite3, используя create_aggregate() - не работают для windows. Хотя SQLite предоставляет аналоговую функцию sqlite3_create_window_function () , sqlite3, похоже, не поддерживает ее.

Мой вопрос: как я могу зарегистрировать определяемую пользователем оконную функцию в Python (желательно с использованием sqlite3, но с желанием изучить другие пакеты)?

SELECT 
    fund, 
    date, 
    user_defined_function(ret_usd) OVER (
        PARTITION BY fund
        ORDER BY CAST(julianday(date) - julianday(date("1970-01-01")) AS INT) ASC 
        RANGE BETWEEN 364 PRECEDING AND CURRENT ROW
        )
FROM fund_returns
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...