MySQL分组查询有关知识总结

目录

 4. 分组查询(group by)

4.1 概述

4.2 分组函数

4.2.1 单个使用 

4.2.2 组合使用

4.2.3 注意!

4.3 group by 

4.3.1 单个字段

4.3.2 多个字段  

4.3.3 提醒!

4.4 having

4.5 分组查询演示


 4. 分组查询(group by)

分组查询在DQL语句中非常重要,非常值得花费时间进行学习;

4.1 概述

什么是分组查询呢?

举一个例子,查询一个 student 表中男生的平均成绩,我们首先需要将表分为男,女两个部分,求男生分数的总和,最后求出平均分即可。这个问题就是分组查询。

那么求男生分数的总和需要用到聚合函数,因此在学习分组查询前需要学习聚合函数

4.2 分组函数

分组函数又叫做聚合函数,经常与关键字 group by 搭配使用,分组函数共有五个:

COUNT():统计数量:

MAX:求最大值,

MIN:求最小值;

SUM:求和;

AVG:求平均数 

4.2.1 单个使用 

sum:求和;

count:计数;

max:最大值;

min:最小值;

avg:平均值;

4.2.2 组合使用

 如下,可以同时使用分组函数; 

4.2.3 注意!

(1)分组函数自动忽略空,因此 count  不能统计值为 null 的列。我们经常统计主键来进行计算。

如果统计所有列的话,可以使用 select count(*)from 表名(对所有记录的处理,输出结果为整张表所有记录的行数

即某一行的每一列都不为空,该行就会被统计,避免因字段内容为 null 而忽略统计;

如下,统计的 comm 只有 4 个,但整张表有14 行记录,这是因为 comm 的内容为 null 的10 行没有被统计;

此外, count ( * ) 与 count (常数)的效果是一样的;

(2)null 不参与所有聚合函数的计算

这与前面所说的分组函数自动忽略 null 有关;

(3)分组函数必须先分组再使用(以上演示分组函数没有使用 group by,则默认整张表是一组); 

(4)分组函数不能直接在 where 子句中使用,即不能充当 where 的条件

这涉及到执行顺序:from > where > group by > select > order by ;

如下,分组函数与 where 同时使用,当然会报错;

4.3 group by 
4.3.1 单个字段

 分组查询需要使用 group by 关键字 ;

4.3.2 多个字段  

 group by 后面可以有多个字段;

如下,查询每个部门不同岗位的的平均薪资;

4.3.3 提醒!

 DDL 语句中有 group by 的话,select 后面只能是参与分组的字段或参与分组函数的字段,或者这两者的组合;

4.4 having

having 与 where 功能相似,都是过滤的作用;

但是,where 是 group by 之前过滤,having 是 group by 之后过滤; 

having 必须搭配 group by 使用

另外, 越早过滤效率越高;

4.5 分组查询演示

 在查询数据时,很多时候目标远大 ,一次很难达到,不如将目标分解,一步一步去实现,脚踏实地,稳扎稳打;

如下,分为两次去实现;

 当然,也可以这样写,使查询效率更高;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/389510.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

稀疏矩阵和稠密矩阵

1.csr_matrix compress sparse row,因此csr是按行压缩的稀疏矩阵。 稀疏矩阵由于0值过多,仅记有值的矩阵位置索引,如下图打印所示。 更多矩阵介绍参考这篇博文【Scipy学习】Scipy中稀疏矩阵用法解析(sp.csr_matrix;s…

国家网络身份个人认证方法

申领网络身份认证后,用户会得到一张虚拟的“网络身份证”,它可以向需要实名认证的互联网平台进行认证,不再需要输入姓名和身份证号等信息。 申请方式:各手机应用平台搜索国家网络身份认证即可(必须支持NFC才能申请&am…

大模型三种模式Embedding、copilot、Agent

大模型的三种应用模式——Embedding、Copilot、Agent——代表了不同级别的智能化和自动化程度,以及与人类用户的交互方式。下面是每种模式的具体解释: 嵌入模式(Embedding Mode) 定义:在嵌入模式中,大模型…

每日一题——贪心算法

1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 题解: 一开始有点理解错他的意思,以为是i是题目中会给出,所以一开始没有什么思路,然后当看了题解之后,就知道了原来i是自己订的&#xff0c…

认识经典蓝牙

现在BLE很流行,本人接触BLE也更多,而对经典蓝牙BR/EDR的开发知之甚少,而且网上关于经典蓝牙的资料也很少,所以,想要有更多了解。 参考: https://www.nordicsemi.cn/news/bluetoothle-and-bluetoothclassic/…

网页设计师必备!10个免费的设计素材网站推荐

当网页设计师使用网页设计材料时,他们会优先考虑那些免费和高质量的网页设计材料网站。找到一个免费和高质量的网页设计材料网站并不容易,有些网站要么需要打开材料网站成员,要么设计材料质量很差。即时设计总结了10个免费的网页设计材料网站…

WEB服务器的详解与部署

WEB服务器也称为网页服务器或HTTP服务器 WEB服务器使用的协议是HTTP或HTTPS HTTP协议默认端口号:TCP 80 HTTPS协议默认端口号:TCP 443 浏览器其实就是 HTTP 客户端 WEB服务器发布软件 微软:IIS(可以发布web网站和FTP站点)linux&#x…

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——2Yolo使用之ONNX模型准备

本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——2Yolo使用之ONNX模型准备 ​ 大家好,因为板端BPU环境,可以加速目标检测的速度,所以今天在此先给大家带来如何准备一个模型,下一期会给大家带来如何在板端部…

PromQL全方位解读:监控与性能分析的关键技术

一、PromQL简介 Prometheus Query Language (PromQL) 是一个专为Prometheus监控系统设计的强大查询语言,它允许用户对收集的时间序列数据进行高效、灵活的查询和分析。PromQL的设计哲学在于提供简洁而强大的语法,以支持复杂的数据检索和实时监控场景。本…

7B 开源模型突破 IMO 形式化证明,霸榜数学竞赛

总览 去年底,著名数学家、菲尔兹奖获得者陶哲轩就提出 AI 将加速数学研究,成为数学家的可靠伙伴,并且在形式化语言 Lean 的帮助下,成功证明了多项式 Freiman-Ruzsa 猜想。在今年的国际数学奥林匹克竞赛(IMO&#xff0…

24澳中博览会|2025非洲水协年会暨展览|2025山西水展

2024澳中博览会 2025非洲水协年会暨展览 2025年山西国际水展暨水利工程设计与施工、水处理技术设备、泵管阀、智慧水务及环保展 承办单位:山西泽嘉国际展览有限公司 上海泽嘉展览服务有限公司 战略合作伙伴 : 美国迈阿密水展 欧 洲 海 水 脱 盐 淡 化…

新版Next.js 15中5个令人惊叹的特性

前端岗位内推来了 Next.js 15已经到来,一切比以往更好! 从全新的编译器到700倍更快的构建时间,创建具有卓越性能的全栈Web应用从未如此简单。 让我们探索v15的最新特性: 1. create-next-app升级:更清晰的UI&#xff0c…

Android进程保活:如何让app一直运行

目录 1)为什么需要进行进程保活呢?需求是什么? 2)进程分类 3)进程的优先级 4)如何提高进程优先级 5)如何进行进程保活 一、为什么需要进行进程保活呢?需求是什么? 比如…

mysql高级语句的查询语句

一、排序语法,关键字排序 升序和降序 默认的排序方式就是升序 升序:ASC 降序:DESC 配合语法:order by 语法 1、升序 select * from info order by name; 根据名字升序排序,不需要加ASC select * from info order…

ChinaJoy 2024,VERYCLOUD睿鸿股份与你相聚

🎮2024 ChinaJoy于26日正式开幕 🕗7月26-28日 🌐VERYCLOUD睿鸿股份在BTOB商务洽谈馆 🌟W4-B785展位 🎇展台交流好礼相送 与多行业好友现场相聚、畅谈🧐 现场游戏企业云集 专业观众、玩家纷至沓来 与游戏/短…

配置frp实现内网穿透(.toml配置文件)

简介 frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。…

APACHE安装与应用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

乱弹篇(40)人类追求长寿

不要认为只有中国的老龄化才严重,实际上全球都面临老龄化,其中日本最为严重。 这是随着人类生活和医学水平的不断提高,寿命才会比过去数十年有了大幅度的提升。据资料显示,目前全球平均预期寿命估计为73岁。与百年之前相比&#…

上半年手游出海吸金超624亿,混合变现帮助游戏提升收益

2024年上半年,海外游戏市场总收入达到惊人的325亿美元,App Store平台收入同比增长11%。这一数据反映了手游市场的巨大潜力和活力,不论是在App Store还是Google Play,玩家们对手游的热情有增无减,支撑了开发者们收益的不…

5行代码快速Git配置ssh

0 流程步骤 检查本地主机是否已经存在ssh key生成ssh key获取ssh key公钥内容(id_rsa.pub)复制该内容,到Github账号上添加公钥,进入Settings设置验证是否设置成功 1 代码 # 1.检查本地主机是否已经存在ssh key cd ~/.ssh ls # …