州ごとのレコード数
ある列の特定の値ごとに件数を集計したいことはよくあります。.group_by() メソッドはこの種のクエリに役立ちます。.group_by() に列を渡し、sum() や count() のような集約関数で利用できます。.order_by() メソッドと同様に、.group_by() には複数の列を引数として渡すこともできます。
この演習はコースの一部です
Pythonで学ぶデータベース入門
演習の手順
sqlalchemyからfuncをインポートします。stateフィールドの値と、ageフィールドの値の件数を取得するselect文を作成し、stmtに保存します。.group_by()メソッドを使って、state列で文をグループ化します。connectionを使ってstmtを実行し、件数を取得してresultsに保存します。- 返された結果のキー/列名を、
results[0].keys()を使って印字します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import func
# Build a query to select the state and count of ages by state: stmt
stmt = select([____, ____])
# Group stmt by state
stmt = stmt.group_by(____)
# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()
# Print results
print(results)
# Print the keys/column names of the results returned
print(____)