根据下表中的数据贷款修正案:
ID | Amount | AddDeduct | AmendDate
-----------+----------------+-----------+------------
LT0000160 | 1000.000000000 | 2 | 2018-02-08
LT0000170 | 1500.00000000 | 1 | 2018-02-10
LN0000577 | 1000.000000000 | 1 | 2018-03-20
LN0000587 | 2000.000000000 | 2 | 2018-03-20
我试图选择sum Amount
字段,它们具有相同的年份和月份AmendDate
。在
因此,我尝试在SQLALchemy
中选择查询,如下所示:
但是,根据上面的查询,我只能按AmendDate
的完全相同的日期(年、月和日)分组。在
我的模型如下所示:
class Loan_Amendment(Object):
ID = db.Column(db.String(13), primary_key=True)
AddDeduct = db.Column(db.String(1))
Amount = db.Column(db.Numeric(25, 9))
AmendDate = db.Column(db.String(20))
目前,我使用Flask-SQLAlchemy==2.0
和SQLAlchemy==0.9.9
,DB类型是postgresql
。在
从AmendDate
中,哪种方式可以只按月份和年份选择sum和group?在
使用^{} 函数将日期截断为月精度:
另一个不太依赖数据库的选项是使用^{} :
^{pr2}$由于日期列实际上是文本,因此需要先进行强制转换。如果您使用的SQLAlchemy版本具有^{} 快捷方式,1.0.7或更高版本,那么只需
如果没有,那么
如果使用提取物,自然也是如此。在
根据您的模型和数据,一个老套的解决方案是简单地取包含年和月部分的子字符串并按其分组:
相关问题 更多 >
编程相关推荐