Python SQLAlchemy如何获得字段的最大值?
我有以下SQLAlchemy类/模型:Python SQLAlchemy如何获得字段的最大值?,python,orm,sqlalchemy,flask-sqlalchemy,Python,Orm,Sqlalchemy,Flask Sqlalchemy,我有以下SQLAlchemy类/模型: class MyModel(db.Model): my_id = db.Column(db.Integer, nullable=False, primary_key=True) my_field = db.Column(db.String(128)) 如何在表中找到my_id的最大值 然而,我已经看到,这似乎是一种非常丑陋的方式(我甚至不知道如何将其应用到我的案例中!)。当我想查询此表时,我会执行以下操作: MyModel.query.f
class MyModel(db.Model):
my_id = db.Column(db.Integer, nullable=False, primary_key=True)
my_field = db.Column(db.String(128))
如何在表中找到my_id
的最大值
然而,我已经看到,这似乎是一种非常丑陋的方式(我甚至不知道如何将其应用到我的案例中!)。当我想查询此表时,我会执行以下操作:
MyModel.query.filter(MyModel.my_field == "blah").one()
我不能做一些与此非常类似的操作来查找my_id
的最大值吗?
理想情况下,我只需替换过滤器(…)
中的内容,您可以添加一个子句
作品它是否和Max操作一样高效?我想它不是(不过差别应该很小),但我不确定。您可以尝试对其进行分析或检查数据库日志,以确定在每种情况下发出了什么查询。我的结果是:0.27269 s(查询完所有查询后)和3.09944e-06 s(使用func.max后)
MyModel.query.filter(MyModel.my_field == "blah") \
.order_by(MyModel.my_id.desc()) \
.first()