测试表: Goods
id | iid | name | ac |
---|---|---|---|
1 | 2 | 丁一 | 2 |
2 | 2 | 李四 | 5 |
3 | 3 | 李二 | 4 |
4 | 3 | 王五 | 5 |
5 | 3 | 狗蛋 | 1 |
6 | 4 | 张三 | 6 |
7 | 5 | 李四 | 3 |
8 | 6 | 王五 | 5 |
from sqlalchemy import func
...
# select iid,count(*) as cnt,sum(ac) as acs from goods group by iid
Goods.query.with_entities(
Goods.iid,
func.group_concat(Goods.name).label('names'),
func.count('*').label('cnt'),
func.sum(Goods.ac).label('acs')
).group_by(Goods.iid).all()
...
结果:
iid | names | cnt | acs |
---|---|---|---|
2 | 丁一,李四 | 2 | 7 |
3 | 李二,王五,狗蛋 | 3 | 10 |
4 | 张三 | 1 | 6 |
5 | 李四 | 1 | 3 |
6 | 王五 | 1 | 5 |
网友评论