SQLAlchemy两个日期之间列的总和
我不确定这是否可行,但我正在寻找一种方法,在列上使用SQLAlchemySQLAlchemy两个日期之间列的总和,sqlalchemy,flask-sqlalchemy,Sqlalchemy,Flask Sqlalchemy,我不确定这是否可行,但我正在寻找一种方法,在列上使用SQLAlchemyfunc.sum,但仅用于两个日期之间的行 为了更清楚,以下是模型: class Income(db.Model): __tablename__='incomes' id = db.Column(db.Integer, primary_key=True) date = db.Column(db.DateTime) amount = db.Column(Numeric) user_ =
func.sum
,但仅用于两个日期之间的行
为了更清楚,以下是模型:
class Income(db.Model):
__tablename__='incomes'
id = db.Column(db.Integer, primary_key=True)
date = db.Column(db.DateTime)
amount = db.Column(Numeric)
user_ = db.Column(db.Integer, db.ForeignKey('users.id'))
所以我想计算金额
列的总和,但只计算日期
列中日期x和日期y之间的金额
是否可以使用查询,或者我应该更好地使用python查询整个表并随后处理数据?start\u date,end\u date=date(2014,2,1),date(2014,3,31)
start_date, end_date = date(2014, 2, 1), date(2014, 3, 31)
q = (db.session.query(
db.func.sum(Income.amount).label("total_amount"),)
# @note: any of the three below should do the job:
.filter(Income.date >= start_date).filter(Income.date <= end_date)
# .filter(Income.date.between(start_date, end_date))
# .filter(between(Income.date, start_date, end_date)) # first do: from sqlalchemy.sql.expression import between
)
q=(db.session.query)(
db.func.sum(收入.金额).标签(“总金额”),)
#@注:以下三项中的任何一项都应完成此项工作:
.filter(Income.date>=start\u date)。filter(Income.date)非常有效,谢谢!我尝试了.between,但没有成功。您应该也可以使用between
。将更新答案以包括这些选项。