我在这里解决了同样的问题,但我正在寻找使用Flask-SQLAlchemy或SQLAlchemy的解决方案: Select row with most recent date per user
我需要为每个具有最高id的不同用户打印一行,因此此示例表将生成以下输出:
id user time io
1 9 1370931202 out
2 9 1370931664 out
3 6 1370932128 out
4 12 1370932128 out
5 12 1370933037 in
输出:
id user time io
2 9 1370931664 out
3 6 1370932128 out
5 12 1370933037 in
models.py
class Example(db.Model):
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.String, default=None, nullable=True)
time = db.Column(db.DateTime, default=datetime.utcnow, nullable=True)
io = db.Column(db.String, default=None, nullable=True)
我的查询找不到每个用户的正确行:
result = Example.query.sort_by(Example.id.desc()).group_by(Example.user)
有没有办法修复我的查询或将SQL解决方案转换为Flask-SQLAlchemy,谢谢。