在带有SQLAlchemy的嵌套sqlite3查询中使用ROW_NUMBER()会导致sqlite3.OperationalError:“(”附近:语法错误

时间:2019-03-09 23:05:59

标签: python sqlite sqlalchemy

执行以下python函数以对sqlite3数据库运行sql查询后,我收到了sqlite3.OperationalError: near "(": syntax error

带有查询文本的python函数

def total_docs():
"total documents"
   import db
   conn, cursor = db.opendb()
   cursor.execute('''
   SELECT COUNT(a.custId) 
   FROM (
   SELECT 
    ROW_NUMBER () OVER (
      PARTITION BY custId, invoiceId ORDER BY entryDate DESC
    ) latest_rank , custId, customer, page, invoiceDate
   FROM 
   transactions
   ) a 
   WHERE latest_rank = 1
   ''')
   return cursor.fetchone()[0]

是否有关于execute()如何运行此查询或与使用sqlalchemy执行SQL不兼容的实际查询的内容。该查询可以在DB客户端(Dbeaver)中按预期方式工作,因此我对为什么此方法无法正常工作感到tom足。

0 个答案:

没有答案