排序查询结果

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 中的数据库入门

多列排序

  • 多列用逗号分隔
  • 先按第一列完整排序
  • 若第一列有重复,再按第二列排序
  • 依次类推直至所有列
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 中的数据库入门

Passons à la pratique !

Python 中的数据库入门

Preparing Video For Download...