sqlalchemy 中使用group统计举例

2310阅读 0评论2020-09-22 wwm
分类:Python/Ruby

1、使用extract 查询时间
如:按照天统计日志数量

 _query= db.session.query(extract('day', Log.created_at).label('day'), func.count('*').label('count')).group_by('day').all()

按照天统计钱数。每天汇总求和
 _query= db.session.query(extract('day', Log.created_at).label('day'),func.sum(Log.money).label('count')).group_by('day').all()

增加条件
 _query= db.session.query(extract('day', Log.created_at).label('day'), func.count('*').label('count')).filter(extract('day', Log.created_at) == 21,extract('year', Log.created_at) == 2020).group_by( 'day').all()


再一个列子
按照季度过滤。
x轴  时间(%Y-%m-%d
y周 数量

  _query = db.session.query(func.date_format(Log.created_at, "%Y-%m-%d").label('day'),
                                  func.count('*').label('count')).filter( extract('quarter', Log.created_at) == quarter, extract('year', Log.created_at) == year).group_by('day').all()



上一篇:python多个装饰器的执行顺序解析
下一篇:Python3-sqlalchemy 使用 联表查询-无外键关系