クエリ結果の並び替え

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

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

ORDER BY 句

  • 結果の返却順を制御します
  • ステートメントのメソッド order_by() として利用可能
Pythonで学ぶデータベース入門

昇順で並び替え

print(results[:10])
[('Illinois',), ...]
stmt = select([census.columns.state])

stmt = stmt.order_by(census.columns.state)
results = connection.execute(stmt).fetchall()
print(results[:10])
[('Alabama',), ...]
Pythonで学ぶデータベース入門

降順で並び替え

  • order_by() で列を desc() で包むと降順になります
Pythonで学ぶデータベース入門

複数列で並び替え

  • 複数列はカンマで区切ります
  • まず第1列で完全に並び替え
  • 第1列で同値がある場合は第2列で並び替え
  • 以降、全列に対して繰り返し
Pythonで学ぶデータベース入門

複数列で並び替え

print(results)
('Alabama', 'M')
stmt = select([census.columns.state, census.columns.sex])

stmt = stmt.order_by(census.columns.state, census.columns.sex)
results = connection.execute(stmt).first() print(results)
('Alabama', 'F')
('Alabama', 'F')
...
('Alabama', 'M')
Pythonで学ぶデータベース入門

演習に進みましょう

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

Preparing Video For Download...