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
에 의문을 또한 (I 올바르게 모델을 이해하고 주어진), 당신은 에 필요
a1_loc
열의 또한group by
절을 추가 ** 작동하지 않음 ** 오류 : 실행 오류 또는 잘못된 결과 생성? 데이터 구조와 원하는 결과가 더 무엇인지에 대해 설명하면 도움이 될 것입니다 ... 또는 직접 'SQL'쿼리를 작성하는 방법을 알고 있다면 누군가가 SA 쿼리로 변환 할 수 있습니다. ... – van