gpt4 book ai didi

Python SQLAlchemy 查询使用带有 ORM 的标记 OVER 子句

转载 作者:太空狗 更新时间:2023-10-29 21:46:14 26 4
gpt4 key购买 nike

这个问题说的是如何在 sqlalchemy 上使用 OVER 子句:

Using the OVER window function in SQLAlchemy

但是如何使用 ORM 来做到这一点?我有类似的东西:

q = self.session.query(self.entity, func.count().over().label('count_over'))

当我使用以下消息调用 q.all() 时失败:

sqlalchemy.exc.InvalidRequestError:
Ambiguous column name 'count(*) OVER ()' in result set! try 'use_labels' option on select statement

我该如何解决这个问题?

最佳答案

你有 over语法几乎正确,应该是这样的:

import sqlalchemy
q = self.session.query(
self.entity,
sqlalchemy.over(func.count()).label('count_over'),
)

文档中的示例:

from sqlalchemy import over
over(func.row_number(), order_by='x')

关于Python SQLAlchemy 查询使用带有 ORM 的标记 OVER 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27510382/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com