150. Python语言 的 Flask框架项目前导 之 Flask数据库 第六章 :排序 和 查询⾼级

本文介绍了Python Flask框架中关于数据库的高级操作,包括排序、limit、offset和切片,以及group_by、having、join等查询技巧。通过实例详细讲解了如何在Flask应用中进行数据分组、过滤和连接查询,并提到了别名和子查询的使用,帮助读者深入理解Flask数据库操作。
摘要由CSDN通过智能技术生成

本章主题

  

关键词

  

排序

  1. order_by:可以指定根据这个表中的某个字段进⾏排序,如果在前⾯加了⼀ 个-,代表的是降序排序。
  2. 在模型定义的时候指定默认排序:有些时候,不想每次在查询的时候都指定排 序的⽅式,可以在定义模型的时候就指定排序的⽅式。
  • 在模型定义中,添加以下代码
__mapper_args__ = {
   
	"order_by": title
}
  • 即可让⽂章使⽤标题来进⾏排序。
  1. 正向排序和反向排序:默认情况是从⼩到⼤,从前到后排序的,如果想要反向 排序,可以调⽤排序的字段的desc⽅法。

  

limit、offset和切片

  • limit:可以限制每次查询的时候只查询⼏条数据。
  • offset:可以限制查找数据的时候过滤掉前⾯多少条。
  • 切⽚:可以对Query对象使⽤切⽚操作,来获取想要的数据。

  

查询⾼级

group_by

  根据某个字段进⾏分组。⽐如想要根据性别进⾏分组,来统计每个分组分别有 多少⼈:

session.query(User.gender,func.count(User.id)).group_by(User.gende r).all()

  

having

  having 是对查找结果进⼀步过滤。⽐如只想要看未成年⼈的数量,那么可以⾸ 先对年龄进⾏分组统计⼈数,然后再对分组进⾏having过滤。

result = session.query(User.age,func.count(User.id))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值