排序查詢結果

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...