先看下需求:表結構是這樣的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
提交
取消