首页 > 数据库 >17、Django-聚合查询-原生sql语句操作raw()

17、Django-聚合查询-原生sql语句操作raw()

时间:2024-07-09 22:44:47浏览次数:14  
标签:聚合 17 结果 -- 查询 raw 分组 sql 变量名

聚合查询:整表聚合和分组聚合

 

1、整表聚合

-- 不带分组的聚合查询是指:将全部数据进行集中统计查询
-- 需要导入:
  -- from django.db.models import *
  -- 聚合函数:Sum,Avg,Count,Max,Min

  -- 语法:
    -- <model_name>.objects.aggregate(结果变量名=聚合函数('字段名'))    --结果变量名 相当于 as 别名
       -- 返回:结果变量名和值组成的字典 
          -- {"结果变量名": 值}

 

 

2、分组聚合

分组聚合:指通过计算查询结果中每一个对象所关联的对象集合、从而得出总计值(也可以是平均值或总和)、即为查询集的每一项生成聚合

-- 语法:
  -- QuerySet.annotate(结果变量名=聚合函数('字段名') )
    -- 返回:QuerySet对象

如:
 -- 先查:bs = Book.objects.values('pub')
 -- 再分组:bs.annotate(res=Count('id'))    --统计

 

 

原生数据库操作-只能做查询

 

使用游标:cursor

标签:聚合,17,结果,--,查询,raw,分组,sql,变量名
From: https://www.cnblogs.com/littlecc/p/18178389

相关文章

  • MySQL库表操作练习
    库表信息CREATETABLEgrade(idINTNOTNULL,sexCHAR(1),firstnameVARCHAR(20)NOTNULL,lastnameVARCHAR(20)NOTNULL,englishFLOAT,mathFLOAT,chineseFLOAT);INSERTINTOgradeVALUES(1,'m','John',......
  • mysql5.7 干净卸载-配置安装-远程访问-数据无损移植
    mysql5.7干净卸载-配置安装-数据无损移植 一:干净卸载步骤一:关闭MySQL服务在卸载MySQL之前,确保MySQL服务已停止。可以通过以下步骤停止MySQL服务:打开命令提示符(CMD)。运行以下命令:netstopmysql步骤二:卸载MySQL程序在卸载MySQL之前,需要先卸载MySQL程序。可以通过以下步骤......
  • 2017年,我成为了技术博主
    2017年9月,我已经大三了。>>上一篇(爪哇,我初窥门径)我大二学了很多java技术,看似我一会就把javaweb/ssh/ssm这些技术栈给学了。这些技术确实不难,即便是我,我都能学会,门槛并不高。但是,这也不是能随便百度学学,10分钟就懂了,学会了。从理解技术的用途,再到学习用法,再到实践,学一个也要3......
  • [数据库]SQL优化
    SQL优化避免使用select*很多时候,为了方便,喜欢直接使用select*,一次性查出表中所有列的数据。反例:select*fromuserwhereid=1;在实际业务场景中,可能我们真正需要使用的只有其中一两列。查了很多数据,但是不用,白白浪费了数据库资源,比如:内存或者cpu。此外,多查出来的数据......
  • JDBC连接MySql教程
    一.JDBC的概念JDBC全称JavaDatabaseConnectivity,是给Java开发的人员提供的一套进行数据库操作的工具,它提供了一种标准化的方式来连接到不同数据库的驱动程序,并且可以保证安全、跨平台和高效的数据访问。二.JDBC连接MySql的步骤(一)驱动准备在连接之前必要的就是对应版本......
  • 【SQLite3】常用API
    SQLite3常用API数据库的打开和关闭数据库的打开(sqlite3_open函数)sqlite3_open()函数用于打开一个SQLite数据库文件的函数,函数原型如下:intsqlite3_open(constchar*filename,/*数据库文件的文件名,如果为":memory:"则表示创建内存中数据库*/sqlite3......
  • Solution - Atcoder ABC177F I hate Shortest Path Problem
    考虑按题目所述的进行DP。设计状态\(f_{i,j}\)代表强制要求\((i,j)\)要走向\((i+1,j)\)最小的横坐标之差,这是因为对应的纵坐标之差是确定的。对于转移,考虑到对于\(j\not\in[a_i,b_i]\),直接从上面转移下来即可,即\(f_{i,j}\leftarrowf_{i-1,j}\)。对于\(j......
  • 什么是 Flink SQL 解决不了的问题?
    简介在实时数据开发过程中,大家经常会用FlinkSQL或者FlinkDataStreamAPI来做数据加工。通常情况下选用2者都能加工出想要的数据,但是总会有FlinkSQL覆盖不了的问题,但SQL的易用性又难以让人释怀。所以有些场景在使用FLinkSQL开始就与需要额外注意,下面就介绍一种多......
  • 生产实习--启明星辰 第四天(Web网络安全基础知识,sql注入,xss攻击,csrf与ssrf,xxe攻击,未授
    web安全的基础知识基本定义Web安全,也称为网络安全或在线安全,是指保护网站、网页和Web服务免受各种威胁和攻击的技术和实践。这些威胁可能来自恶意软件、网络攻击、数据泄露、身份盗窃、服务中断等。Web安全的目标是确保Web应用程序和用户数据的安全、完整和可用性。一般流程......
  • IDEA无法识别sql进行补全
    使用的是2023版idea,遇到sql语句无法被识别的问题,不会出现代码补全尝试多次后找到解决办法。将图中的None进行修改统一改为Mysql保存以后问题解决。(前提是在idea已经成功连接数据库)......