sqlalchemy fun.max 求最大值的问题

先看下需求:
表结构是这样的

Tableid   time    status  ob_id1     12:50    2    a12     12:53    3    b13     13:01    3    a1

需求是以ob_id为基准,ob_id相同的说明是一类数据,但是它们状态不一样(status)
需要取出时间最大的数据,即对于上述数据来说,ob_id相同的有a1,id是1和3,应该取出时间为13:01的
我的查询语句是这样写的:

res=db.session.query(Table.id,func.max(Table.time)).order_by(Table.time.desc()).group_by(Table.ob_id).all()

这样去查,最大时间可以得到,但是想把查到最大时间对应的这条数据拿出来,这里拿id,这样并不对。我的理解是进行了分组后,是可以求出该组的最大值,但是并不能拿到更多的数据了

我用原生语句去查也不行

SELECT id, GROUP_CONCAT(time), MAX(time) FROM Table GROUP BY ob_id;

不知道我的理解对不对,如果是这样,有没有什么好的方法实现这样的需求?


潇湘沐
浏览 1768回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL