先看下需求:表结构是这样的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;不知道我的理解对不对,如果是这样,有没有什么好的方法实现这样的需求?
添加回答
举报
0/150
提交
取消