複数列での並べ替え
.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(____)