Почему OVER (ПОРЯДОК ПО row_id) не работает в python?

#sqlite #python-3.7

Вопрос:

Я использую python 3.7 и SQLite3. Проверьте следующий код в db<>fiddle<> Он работает нормально, но когда я использую его в python, он говорит «sqlite3.Ошибка операции: рядом «(«: синтаксическая ошибка»

Этот код я использую в db<>fiddle:

 WITH cte AS (SELECT row_id, invoice_no, product_id, quantity, price, sum(quantity) OVER (ORDER BY row_id) AS total FROM  product_in)
SELECT *FROM cte WHERE  total > 200
ORDER  BY row_id;
 

Этот код я использую на python:

 product = cur.execute("""
WITH cte AS (SELECT row_id, invoice_no, product_id, quantity, price, sum(quantity) OVER (ORDER BY row_id) AS total FROM product_in)
SELECT *FROM cte WHERE  total > 99
ORDER  BY row_id
            """)
 

В чем моя ошибка?
Как я могу получить решение?

Комментарии:

1. Проверьте свою версию SQLite. Оконные функции поддерживаются начиная с версии 3.25.0

2. @forpas SQLite версии 3.35.2

3. Если ваша версия 3.35.2, то код должен работать нормально. Выполнять select sqlite_version(); .

4. @forpas Я обновил версию SQLite, и она отлично работает. Огромное спасибо.