当前位置: 首页 > news >正文

异步数据库基本代码实现

数据库的查询、过滤和查询总数 total

1.构建查询

2.添加过滤条件  使用 filter 

3.查询总数

# 获取过滤后的总条数(关键修正:用 scalar() 提取整数)total_query = select(func.count()).select_from(query.subquery())total_result = await db_async.execute(total_query)  # 执行计数查询,得到 Result 对象total = total_result.scalar()  # 从 Result 中提取整数(计数结果)
  • base_query.subquery():将 base_query 转换为子查询(subquery),相当于 SQL 中 FROM 后的子查询语句(如 FROM (SELECT ...))。
  • select(func.count()).select_from(...):构建一个新的查询,作用是统计子查询(即 base_query 的结果)的总记录数,等价于 SQL 语句:SELECT COUNT(*) FROM (base_query对应的子查询)

使用 base_query.subquery() 本质上是将 base_query 的完整逻辑(过滤、关联、分组等)封装成一个 “临时结果集”,然后基于这个结果集计数。这样做的好处是:

  • 完全复用 base_query 的逻辑,避免重复代码;
  • 确保计数结果与 base_query 的实际查询结果严格一致,无论 base_query 多复杂。

4.分页

    query = query.order_by(UserModel.User.id).offset(skip).limit(limit)result = await db_async.execute(query)users = result.scalars().all()

构建查询 -> 执行任务 -> 获取结果


写个测试函数进行测试:

函数返回的参数

http://www.dtcms.com/a/470726.html

相关文章:

  • 网站开发制作报价wordpress 创建数据表
  • php网站建设参考文献网站做很多关键词
  • 【Go】--数据类型
  • 偃师网站建设wordpress排版教程
  • 有好点的网站建设公司吗酒店网络营销方式有哪些
  • Java String类中的lastIndexOf方法的应用场景
  • open-webui版本更新
  • 【远程桌面】在ubuntu中安装远程桌面
  • 卫生设计真空搅拌机:全球市场格局与未来增长路径
  • 信用网站一体化建设方案网站建设好后有些什么资料
  • 站长工具seo综合查询可以访问wordpress点击弹窗插件
  • INI文件相比于json文件,有什么优势?
  • DAY 34 GPU训练及类的call方法-
  • 建设高端网站公司安徽省工程造价信息网
  • 狮岭做网站网站建设与运营
  • TDengine 数学函数 ATAN() 用户手册
  • 网站页面设计欣赏如何实现一个响应式网页
  • C# 中的回调函数
  • 海南网站公司苏州吴中区住房和城乡建设局网站
  • SwiftUI 的状态管理包装器(Property Wrapper)
  • MATLAB基于WOA(鲸鱼优化算法)优化LSTM神经网络的分类模型实现。主要功能是通过智能算法自动寻找LSTM的最佳超参数,构建分类模型并对数据进行分类预测
  • Ethernet II 帧头部
  • 【完整源码+数据集+部署教程】 植物组织分割系统源码&数据集分享 [yolov8-seg-LSKNet等50+全套改进创新点发刊_一键训练教程_Web前端展示
  • 网站链接怎么做二维码诸暨网站制作有哪些公司
  • 大连网站制作网页asp网站经常 响应
  • 引航科技提供网站建设建设网站的分析
  • 【笔记】poll,实现I/O多路复用的一种机制,是 select 的改进版
  • 智能风控-银行卡实名认证接口-银行卡实名API助力企业高效合规管理
  • Java基础面试题
  • 网站建站建设费用新任上海市领导调整公示