gpt4 book ai didi

python - sqlAlchemy 使用 like 和 max 选择

转载 作者:行者123 更新时间:2023-11-28 23:11:40 50 4
gpt4 key购买 nike

我试图从 'tablename' 中的 'id' 列中选择最大值,该表以 'v3' 开头并以 't' 结尾。

这适用于以下 SQL 语句:

SELECT max(_id_) 
FROM _db.tablename_
WHERE _id_ LIKE 'v3%'
AND _id_ NOT LIKE '%T'

但我的 sqlAlchemy 代码片段似乎有一些错误,找不到错误。

query = session.query(_CLASSNAME_._ID_).filter(
func.max(_CLASSNAME_._ID_.like('v4%'), not_(_CLASSNAME_._ID_.like('%T'))))

for _res in query.all():
print(_res)

最佳答案

首先,要计算列的最大值,您需要像这样查询:

session.query(func.max(Table.column))

要在过滤中使用 bool 运算,您需要从 sqlalchemy 中导入等效函数:

from sqlalchemy import and_
from sqlalchemy import not_

您的查询可能是这样的:

query = (session.query(func.max(_CLASSNAME_._ID_))
.filter(and_(_CLASSNAME_._ID_.like('v4%'),
not_(_CLASSNAME_._ID_.like('%T'))))

关于python - sqlAlchemy 使用 like 和 max 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706030/

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