python - SQLAlchemy:如何从多个表中选择最大值

标签 python sqlalchemy

我开始以 ORM 方式而不是 SQL 方式使用 sqlalchemy。我已经快速浏览过该文档,但我不知道如何轻松地执行 SQL 的等效操作:

select max(Table1.Date) from Table1, Table2
where...

我能做到:

session.query(Table1, Table2)
...
order_by(Table1.c.Date.desc())

然后选择第一行,但效率一定很低。谁能告诉我选择最大值的正确方法是什么?

非常感谢

最佳答案

理想情况下,人们应该知道查询的其他部分。但没有任何附加信息,下面应该可以做到

import sqlalchemy as sa

q = (
    session
    .query(sa.func.max(Table1.date))
    .select_from(Table1, Table2)  # or any other `.join(Table2)` would do
    .filter(...)
    .order_by(Table1.c.Date.desc())
)

关于python - SQLAlchemy:如何从多个表中选择最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37439219/

相关文章:

python:以Pythonic方式在值列表和模型对象列表之间查找差异,即模型对象值

python - 如何在 pandas + python 中将值从一行传递到下一行,并使用它递归计算相同的后续值

python - Seaborn pairplot 数据未显示

python - 为什么其他窗口(GUI)在Python中运行时其他窗口(GUI)没有打开?

python - 从 Flask 蓝图访问数据库

python - 我怎样才能使用 SQLAlchemy 做 "mysql explain"

php - PHP 是 : massive and rapid uptake of a re-deployable, 可扩展 Web 应用程序的唯一选择吗?

python - 迭代过期查询和更新时了解 SQLAlchemy 性能

python - 如何在 sqlalchemy ORM 查询中使用 NOT IN 子句

python - Sqlalchemy 和 Python - 返回 ID 的 upsert 语句