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

Connected

演習

2つの列の差を計算する

クエリの一部として数値演算が必要になることはよくあります。例えば、2000年から2008年までの人口の変化を計算したい場合です。数値に対する演算では、SQLAlchemy の演算子は Python と同じように動作します。

これらの演算子を使って、加算(+)、減算(-)、乗算(*)、除算(/)、剰余(%)を実行できます。注意: 非数値の列型に対しては挙動が異なります。

それでは、2000年から2008年の間の人口増加で上位5つの州を見つけてみましょう。

指示

100 XP
  • stmt という名前の select 文を定義し、次を返すようにします。
    • i) census テーブルの州の列(census.columns.state)。
    • ii) 2008年(census.columns.pop2008)と2000年(census.columns.pop2000)の人口の差を 'pop_change' というラベルで返すこと。
  • ステートメントを census.columns.state で GROUP BY します。
  • 人口の変化量('pop_change')で降順に並べ替えます。desc('pop_change') を渡してください。
  • 直前のステートメントに対して .limit() メソッドを使い、返すレコードを5件のみにします。
  • ステートメントを実行して、fetchall() でレコードを取得します。
  • print 文はすでに用意されています。結果を見るには 「回答を送信」 してください!