使用模型“ LOAN_APPLICATION_HIST”中的给定数据,如下所示:
ID | LNCustomerID | Curr
---------------------+--------------+------
LA18010300013@0 | CUM02544 | 0
LA18010300013@1 | CUM02544 | 1
LA18010300013@2 | CUM02544 | 2
LA18010300013@3 | CUM02544 | 3
LA18010300013@4 | CUM02544 | 4
LA18010300013@5 | CUM02544 | 5
LA18010300013@6 | CUM02544 | 6
LA18010300013@7 | CUM02544 | 7
LA18010400021@0 | CU003664 | 0
LA18010400024@0 | CUM00021 | 0
LA18010400021@1 | CU003664 | 1
LA18010400021@2 | CU003664 | 2
LA18010400029@0 | CUM01266 | 0
LA18010400027@0 | CU003866 | 0
LA18010400034@0 | CU003947 | 0
LA18010400029@1 | CUM01266 | 1
LA18010400022@0 | CUM00021 | 0
及其类模型:
class LOAN_APPLICATION(db.Model):
ID = db.Column(db.String(13), primary_key=True)
LNCustomerID = db.Column(db.String(10))
Curr = db.Column(db.String(5))
有了这些功能后,我想选择ID
最多的Curr
列,并按ID
的列按@xx
分组。
我尝试过:
LoanAppHist = db.session.query(
LOAN_APPLICATION_HIST.ID,
func.max(cast(LOAN_APPLICATION_HIST.Curr,sqlalchemy.Integer)).label('Curr')
).\
group_by(LOAN_APPLICATION_HIST.ID).\
all()
但是,它返回所有列数据,因为列ID
在@xx
中不是唯一的,因此我希望某些子字符串像group_by(LOAN_APPLICATION_HIST.ID[0:13])
那样子字符串,其中13是@
符号的索引
有什么线索可以存档魔术吗?谢谢