2016-05-25 14 views
1

SQLのやり方ではなくORMの方法でsqlalchemyを使い始めました。私はすぐにドキュメントをしてきたが、私は簡単にSQLの同等の操作を行う方法を見つけていない:SQLAlchemy:いくつかのテーブルからmaxを選択する方法

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

私が行うことができます。

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

をしてから最初の行を選択するが、それはでなければなりません非常に非効率的です。誰が最大を選択する適切な方法は何ですか?

多くの感謝

+0

を行う必要があります以下、追加情報なし#sqlalchemy.sql.functions.max) – aviator

答えて

1

理想的には、クエリの他の部分を知っている人がいます。しかし、このための最大**(** http://docs.sqlalchemy.org/en/latest/core/functions.html?highlight=maxそれをあなたが使用することができます

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()) 
) 
+0

ありがとうございました。私はquery()が欠けていた。select_from() – VincentH

関連する問題