【发布时间】:2020-02-03 16:03:37
【问题描述】:
我有下表,想按日期计算 sum 和 group_by 的日期
| Date | Value1 | Value2 |
|:-----------|------------:|:------------:|
| 2019-12-05 | 5.5 | true|
| 2019-12-05 | 4.5 | true|
| 2019-12-05 | 6.5 | false|
| 2019-12-05 | 8.5 | false|
| 2019-12-05 | 2.5 | true|
| 2019-12-06 | 3.5 | true|
| 2019-12-06 | 5.5 | true|
| 2019-12-06 | 56.5 | true|
| 2019-12-06 | 8.5 | true|
| 2019-12-06 | 99.5 | false|
| ... | ... | ... |
我通过类方法查询 db.Model:
return db.session.query(cls.Date, func.count(cast(cls.Value2, sqlalchemy.Integer)).filter(cls.Value2== True).label("Count True Value2")) \
.group_by(cls.Date)\
.order_by("Date")
结果应该是
| Date | Value2 |
|:-----------|------------:|
| 2019-12-05 | 3 |
| 2019-12-06 | 4 |
编辑 也不行
return db.session.query(cls.Date, func.sum(case([(cls.Value2== True, 1)], else_=0).label('Value2'))) \
.filter(cls.Date== current_date.strftime("%Y-%m-%d")) \
.group_by(cls.Date)\
.order_by("Date")
【问题讨论】:
标签: python sqlalchemy