<MySQL> 查询数据进阶操作 -- 聚合查询

目录

一、聚合查询概述

二、聚合函数查询

2.1 常用函数

2.2 使用函数演示

2.3 聚合函数参数为*或列名的查询区别

2.4 字符串不能参与数学运算

2.5 具有误导性的结果集

三、分组查询 group by

四、分组后条件表达式查询

五、MySQL 中各个关键字的执行顺序


一、聚合查询概述

        MySQL查询数据时,通过where等关键字组成条件表达式对列与列之间的数据进行运算。但是行与行之间的运算则无法通过条件表达式来描述,此时就需要使用聚合查询的方式进行查询操作

聚合查询的常用方式: 聚合函数查询
分组查询
分组后条件表达式查询

二、聚合函数查询

2.1 常用函数

函数释义
count(*或列名)返回查询到的数据的行数(数量)
sum(*或列名)返回查询到的数据的总和,只能计算数字
avg(*或列名)返回查询到的数据的平均值,只能计算数字
max(*或列名)返回查询到的数据的最大值,只能计算数字
min(*或列名)返回查询到的数据的最小值,只能计算数字

2.2 使用函数演示

执行步骤:先执行查询语句 select *或列 from 表;
再执行聚合函数;

2.3 聚合函数参数为*或列名的查询区别

聚合函数参数为*或列名的查询区别当查询内容为null时
参数为*null参与计算,当null参与计算时,结果通常为null
参数为列名null不参与计算,忽略null

2.4 字符串不能参与数学运算

2.5 具有误导性的结果集

        由上述可知,非聚合查询和聚合查询不能在同一语句中混用!

        只有一个情况是例外的 —— 使用分组查询 group by 时。


三、分组查询 group by

        group by 是进行分组查询时使用的关键字,表示将根据关键字后的列名对数据进行分组,列中数值相同的数据将被分成一组

        group by 通常搭配聚合函数使用。

        除被 group by 的列,其他字段想出现在同一查询语句中,则必须包含在聚合函数中


四、分组后条件表达式查询

        使用 group by 子句对进行分组后,如果还需要对分组结果再进行条件过滤时,不应使用 where 语句,而要使用 having 关键字。

        使用 having 关键字是针对分组之后的数据进行条件过滤的。

where 关键字 和 having 关键字 的区别
where用于分组之前的条件筛选
having用于分组之后的条件筛选


五、MySQL 中各个关键字的执行顺序

fromonjoinwheregroup bywithhavingselectdistinctorder bylimit

        关键字从左到右,优先级依次从高到低。优先级高的关键字先执行。


阅读指针 -> 《MySQL表数据的 CRUD 进阶操作 -- 联合查询》

链接生成中..............

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

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

相关文章

C语言--求一个 3 X 3 的整型矩阵对角线元素之和

一.题目描述 求一个 3 X 3 的整型矩阵对角线元素之和 二.代码实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() {int arr[3][3] { 0 };for (int i 0;i < 3;i){for (int j 0;j < 3;j){ printf("请输入数字&#xff1a;");scanf(&…

Webpack Bundle Analyzer包分析器

当我们需要分析打包文件dist里哪些资源可以进一步优化时&#xff0c;就可以使用包分析器插件webpack-bundle-analyzer。NPM上的介绍是使用交互式可缩放树图可视化 webpack 输出文件的大小。 我的是vue2项目。 1、webpack-bundle-analyzer插件的安装 $ npm install --save-dev…

【LittleXi】C程序预处理、编译、汇编、链接步骤

【LittleXi】C程序预处理、编译、汇编、链接步骤 C程序 #include<stdio.h> int main(){int x1,y1;printf("xy%d",xy); }1、预处理 将头文件引入进来、除去注释、宏定义下放 执行指令 g -E esc.c -o esc.i 2、编译 将处理好的代码编译为汇编代码.s 执行…

后端接口性能优化分析-程序结构优化

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…

加速可编程创新,2023年英特尔FPGA中国技术日披露全矩阵FPGA产品与应用方案

在新场景、新应用海量增长的驱动下&#xff0c;中国本地市场对于FPGA产品的需求也在日益多元化和快速扩展。我们始终致力于以中国客户的实际需求为导向&#xff0c;基于领先的FPGA产品和软件为千行百业提供全场景的解决方案。——叶唯琛 英特尔可编程方案事业部中国总经理 今日…

revit获取FamilySymbol的name

因为想解析把Element的CategoryId跟FamilySymbolId解析并存下来&#xff0c;这样就可以还原Revit中项目浏览器&#xff0c;里面的族的结构层次了。 参考&#xff1a;Revit中“Category、Family、 Familysymbol、 FamilyInstance”之间的关系​​​​​​ 但是对于wall和floor等…

【iOS】将网络请求封装在一个单例类Manager中(AFNetworking、JSONModel)

项目开发中会请求大量不同的API&#xff0c;若将网络请求三板斧直接写在Controller中会代码十分冗杂&#xff0c;干脆直接将AFNetWorking和JSONModel封装到一个全局的Manager单例类中&#xff0c;在Manager类中进行网络请求和数据解析 导入AFNetworking和JSONModel 参考【iOS…

分类预测 | MATLAB实现基于Isomap降维算法与改进蜜獾算法IHBA的Adaboost-SVM集成多输入分类预测

分类预测 | MATLAB实现基于Isomap降维算法与改进蜜獾算法IHBA的Adaboost-SVM集成多输入分类预测 目录 分类预测 | MATLAB实现基于Isomap降维算法与改进蜜獾算法IHBA的Adaboost-SVM集成多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 Isomap-Adaboost-IHBA-…

CSS特效010:文字颜色渐变的流光效果

查看专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS相关的库、…

竞赛 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

Vatee万腾的数字化掌舵:Vatee科技引领未来的新高度

随着数字化时代的到来&#xff0c;Vatee万腾以其卓越的科技决策力成为引领潮流的掌舵者。 Vatee万腾通过对科技前沿的不懈探索&#xff0c;站在了数字化创新的最前沿。其领先的科技团队致力于发掘并应用最新的数字技术&#xff0c;为用户提供卓越的数字化体验。 Vatee万腾以其…

HTML 之常用标签的介绍

文章目录 h标签p标签a标签img 标签table、tr、td标签ul、ol、li 标签div 标签 h标签 <h> 标签用于定义 HTML 文档中的标题&#xff0c;其中 h 后面跟着一个数字&#xff0c;表示标题的级别。HTML 提供了 <h1> 到 <h6> 六个不同级别的标题&#xff0c;其中 &…

Linux socket编程(3):利用fork实现服务端与多个客户端建立连接

上一节&#xff0c;我们实现了一个客户端/服务端的Socket通信的代码&#xff0c;在这个例子中&#xff0c;客户端连接上服务端后发送一个字符串&#xff0c;而服务端接收到字符串并打印出来后就关闭所有套接字并退出了。 上一节的代码较为简单&#xff0c;在实际的应用中&…

详解 KEIL C51 软件的使用·设置工程·编绎与连接程序

详解 KEIL C51 软件的使用建立工程-CSDN博客 2. 设置工程 (1)在图 2-15 的画面中点击 会弹出如图 2-16 的对话框.其中有 10 个选择页.选择“Target” 项,也就是图 2-16 的画面. 图 2-16 在图 2-16 中,箭头所指的是晶振的频率值,默认是所选单片机最高的可用频率值.该设置值与单…

Intellij IDEA 内存设置的问题 及解决

解决方案&#xff1a; 在IDEA上运行较大项目时&#xff0c;编译量很大&#xff0c;可能会报出 Error:java: java.lang.OutOfMemoryError: Java heap space 的错误&#xff0c;解决方法如下&#xff1a; java.lang.OutOfMemoryError是内存不足导致的&#xff0c;因此需要修改Id…

PSP - 蛋白质复合物结构预测 Template 的 Multichain Mask 2D (二维多链掩码)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/134406459 在 蛋白质复合物结构预测 中&#xff0c;AlphaFold2 Multimer 的 Multichain Mask 2D 对于 模版特征 (Template) 的影响较大&#xff0…

1688往微信小程序自营商城铺货商品采集API接口

一、背景介绍 随着移动互联网的快速发展&#xff0c;微信小程序作为一种新型的电商形态&#xff0c;正逐渐成为广大商家拓展销售渠道、提升品牌影响力的重要平台。然而&#xff0c;对于许多传统企业而言&#xff0c;如何将商品信息快速、准确地铺货到微信小程序自营商城是一个…

网络编程 —— TCP 和 UDP 编程详解

目录 网络编程主要函数介绍 1. socket 函数 2. bind 函数 3. listen 函数 4. accept 函数 5. connect 函数 6. send 函数 7. recv 函数 8. recvfrom 函数 9. sendto 函数 TCP 和 UDP 原理上的区别 TCP 编程 服务端代码&#xff1a; 客户端代码&#xff1a; UDP 编…

Android设计模式--工厂模式

一&#xff0c;定义 工厂模式与Android 设计模式--单例模式-CSDN博客&#xff0c;Android设计模式--Builder建造者模式-CSDN博客&#xff0c;Android设计模式--原型模式-CSDN博客 一样&#xff0c;都是创建型设计模式。 工厂模式就是定义一个用于创建对象的接口&#xff0c;让…

225.用队列实现栈(LeetCode)

思路 思路&#xff1a;用两个队列实现栈后进先出的特性 &#xff0c;两个队列为空时&#xff0c;先将数据都导向其中一个队列。 当要模拟出栈时&#xff0c;将前面的元素都导入另一个空队列&#xff0c;再将最后一个元素移出队列 实现 实现&#xff1a; 因为C语言没有库可以…