始める無料で始める

複数列での並べ替え

.order_by() メソッドには複数の引数を渡して、複数の列で並べ替えることができます。さらに、各列ごとに昇順・降順を指定することも可能です。.order_by() に渡した各列は左から右へ順に完全にソートされます。つまり、まず最初の列で完全に並べ替えを行い、次に最初の列で値が同じグループの中で、.order_by() の次の列で並べ替えます。この手順を、.order_by() に含まれるすべての列に対して繰り返します。

この演習はコースの一部です

Pythonで学ぶデータベース入門

コースを見る

演習の手順

  • census テーブルから state 列と age 列のすべてのレコードを選択します。
  • .order_by() を使って、state 列は昇順、age は降順で並べ替えます。(注: desc はすでにインポート済みです)
  • connection.execute() メソッドで stmt を実行し、.fetchall() で結果をすべて取得します。
  • 先頭の20件を表示します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Build a query to select state and age: stmt
stmt = select([____, ____])

# Append order by to ascend by state and descend by age
stmt = stmt.order_by(____, ____)

# Execute the statement and store all the records: results
results = ____

# Print the first 20 results
print(____)
コードを編集して実行