グループ平均を選択しようとしています。クエリのSQL錬金術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