1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶデータベース入門

Connected

演習

州ごとの人口合計を求める

count_1 のようなクエリ結果の列名で混乱しないよう、.label() メソッドで結果列に名前を付けられます。これは使用する関数メソッドに続けて指定し、引数に付けたい名前を渡します。

func.sum() と .group_by() を組み合わせることで、State ごとの人口合計を取得し、さらに label() メソッドで出力列に名前を付けられます。

また、select 文で使う前に func.sum() の式を先に作成することもできます。select 文の中で書くのと同じ要領で式を作って変数に保存し、その変数を本来 func.sum() を書く位置で使用します。

指示

100 XP
  • sqlalchemy から func をインポートします。
  • pop2008 フィールドの値の合計を計算し、'population' というラベルを付ける式を作成します。
  • state フィールドの値と、pop2008 の合計を取得するための select 文を作成します。
  • .group_by() メソッドを使って、文を state でグループ化します。
  • connection を使って stmt を実行し、結果を results に保存します。
  • results[0].keys() を使って返された結果のキー/列名を出力します。