首先说明一下。分组查询不能直接使用数据库查询。就是传统的查询方法。
如下:
model = UserModel.query.filter_by(id=1).group_by('create_time').all()
以上的语句虽然也可以查询出来。但是不能获取到分组后的数据和分组的和。
有实现的大佬麻烦补充一下。
我是使用下列方法实现的
方法如下:
先说明一下要使用的方法
db.func.count() 此方法可以获取分组数据的总和
db.func.year() 此方法是指定查询日期字段的年份
db.func.month() 查询日期字段的月份
以下是实现代码
model= db.session.query(db.func.count(SignInModel.id), SignInModel.create_time).filter_by(user_id=form.id.data).group_by(db.func.year(SignInModel.create_time), db.func.month(SignInModel.create_time)).all()
print(model)
打印数据如下 [(1, datetime.date(2019, 6, 12)), (2, datetime.date(2019, 7, 13))]
有大佬知道更好的方法麻烦留个言。
网友评论