1
我想选择一个分组的平均值。查询中的SQL Alchemy group_by
a1_avg = session.query(func.avg(Table_A.a1_value).label('a1_avg'))\
.filter(between(Table_A.a1_date, '2011-10-01', '2011-10-30'))\
.group_by(Table_A.a1_group)
我已经尝试了这个查询的几个不同的迭代,这是尽可能接近我所需要的。我相当确定group_by正在创建该问题,但我不确定如何使用SQLA正确实现查询。表结构和预期产出:
TABLE A
A1_ID | A1_VALUE | A1_DATE | A1_LOC | A1_GROUP
1 | 5 | 2011-10-05 | 5 | 6
2 | 15 | 2011-10-14 | 5 | 6
3 | 2 | 2011-10-21 | 6 | 7
4 | 20 | 2011-11-15 | 4 | 8
5 | 6 | 2011-10-27 | 6 | 7
EXPECTED OUTPUT
A1_LOC | A1_GROUP | A1_AVG
5 | 6 | 10
6 | 7 | 4
怎么回事**不**工作:错误运行或产生错误的结果?如果你更多地解释了什么是你的数据结构和期望的结果,这将会有所帮助......或者,如果你知道你将如何构建一个直接的'SQL'查询 - 有人会很乐意将它翻译成SA查询给你... – van 2011-12-29 12:45:17