Python flasksqlalchemy windows函数查询错误?

2024-04-28 22:54:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着用一个windows函数,这样我就可以从每个永恒的_id中得到最后一个结果,而我只是想让一个windows函数正常工作。无论是连接到引擎并从中进行选择,还是从中启动会话和查询,都会看到错误。在

下面是我尝试的方法(“初始化会话并从中查询”方法):

engine = create_engine('sqlite:///../../app.db')
sessionfactory = sessionmaker(bind=engine)
s = sessionfactory()

myquery = s.query(models.case.id, 
                  models.case.eternal_id,
                  func.count().over(
                      partition_by=models.case.eternal_id).label('cnt'))
print myquery.all()

我得到的错误是:

^{pr2}$

如果我从查询中删除func.count().over(partition_by=models.case.eternal_id).label('cnt'),那么一切都会完美运行。有人知道我为什么会出错吗??在

如果有帮助的话,下面是一个模型:

from app import db
class case(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    eternal_id = db.Column(db.Integer, db.ForeignKey('case_eternal.id'))
    eternal = db.relationship('case_eternal', back_populates='case_sids')
    def __repr__(self):
        return '<Case %r>' % (self.id)

class case_eternal(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    case_sids = db.relationship('case', back_populates='eternal')

Tags: 方法函数idappdbmodelswindows错误
2条回答

更新:现在支持窗口函数

对于那些降落在这里的人来说,自从这个问题被提出和回答之后,情况已经发生了变化。对window functions的支持已添加到SQLite,版本为3.25.0(2018-09-15)。在

文档:https://www.sqlite.org/windowfunctions.html
发布历史:https://www.sqlite.org/changes.html#version_3_25_0

SQLite没有窗口函数。在

相关问题 更多 >