先看下需求:表結(jié)構(gòu)是這樣的Tableid time status ob_id1 12:50 2 a12 12:53 3 b13 13:01 3 a1需求是以ob_id為基準(zhǔn),ob_id相同的說明是一類數(shù)據(jù),但是它們狀態(tài)不一樣(status)需要取出時(shí)間最大的數(shù)據(jù),即對(duì)于上述數(shù)據(jù)來說,ob_id相同的有a1,id是1和3,應(yīng)該取出時(shí)間為13:01的我的查詢語句是這樣寫的:res=db.session.query(Table.id,func.max(Table.time)).order_by(Table.time.desc()).group_by(Table.ob_id).all()這樣去查,最大時(shí)間可以得到,但是想把查到最大時(shí)間對(duì)應(yīng)的這條數(shù)據(jù)拿出來,這里拿id,這樣并不對(duì)。我的理解是進(jìn)行了分組后,是可以求出該組的最大值,但是并不能拿到更多的數(shù)據(jù)了我用原生語句去查也不行SELECT id, GROUP_CONCAT(time), MAX(time) FROM Table GROUP BY ob_id;不知道我的理解對(duì)不對(duì),如果是這樣,有沒有什么好的方法實(shí)現(xiàn)這樣的需求?
添加回答
舉報(bào)
0/150
提交
取消