始める無料で始める

州ごとのレコード数

ある列の特定の値ごとに件数を集計したいことはよくあります。.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(____)
コードを編集して実行