単一列を降順で並べ替える
列を desc() 関数で包むことで、.order_by() を使って高い順から低い順(降順)に並べ替えることもできます。ここではこの関数の実例はまだ見ていませんが、これまで学んだ内容を一般化したものです。
並べ替えたい列名を指定して、.order_by() の中に desc()(descending の略)を渡します。例えば、
stmt.order_by(desc(table.columns.column_name)) は column_name を降順に並べ替えます。
この演習はコースの一部です
Pythonで学ぶデータベース入門
演習の手順
sqlalchemyモジュールからdescをインポートします。censusテーブルのstate列の全レコードを選択します。- 結果を
state列で降順に並べ替えるように.order_by()を追加し、結果をrev_stmtとして保存します。 connection.execute()を使ってrev_stmtを実行し、.fetchall()ですべての結果を取得してrev_resultsに保存します。rev_resultsの先頭10行を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Import desc
from ____ import ____
# Build a query to select the state column: stmt
stmt = ____
# Order stmt by state in descending order: rev_stmt
rev_stmt = stmt.order_by(____)
# Execute the query and store the results: rev_results
rev_results = ____
# Print the first 10 rev_results
print(____)