使用Flask-SQLALchemy选择每个用户最近日期的行

时间:2018-03-02 03:27:28

标签: python sqlalchemy flask-sqlalchemy

我在这里解决了同样的问题,但我正在寻找使用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,谢谢。

0 个答案:

没有答案