我开始以ORM方式而不是SQL方式使用sqlalchemy。我很快就通过了doc,但是我找不到如何轻松地完成SQL的相应操作:
select max(Table1.Date) from Table1, Table2
where...
我能做到:
session.query(Table1, Table2)
...
order_by(Table1.c.Date.desc())
然后选择第一行但它必须非常低效。谁能告诉我选择最大值的正确方法是什么?
非常感谢
答案 0 :(得分:1)
理想情况下,人们会知道查询的其他部分。但是没有任何其他信息,下面应该这样做
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())
)