MySQL 聚合函数

1. AVG函数求平均值

以 teacher 表为例,先查所有 teacher 信息:

SELECT * FROM teacher;

查询结果如下图:
在这里插入图片描述

可以使用 AVG() 函数求出全部教师平均年龄:

SELECT AVG(age) FROM teacher;

执行结果如下图:
在这里插入图片描述

Tips:如上图所示,AVG(age) 表示对结果集 age 列取平均值 40.6667。

2.COUNT函数统计总条数

以 student 表为例,先查看所有 student 信息:

 SELECT * FROM student;

查询结果如下图:
在这里插入图片描述

可以使用 COUNT() 函数统计全部学生数量:

SELECT COUNT(*) FROM student;

执行结果如下图:

在这里插入图片描述

也可以对某一列使用 COUNT() 函数:

SELECT COUNT(id) FROM teacher;

执行结果如下图:

在这里插入图片描述

Tips:如上图所示,COUNT(*) 或者 COUNT(id) 表示统计全部结果集条数 10,注意 COUNT() 函数也会对 NULL 值的数据进行统计。

3.SUM函数统计总和

以 teacher 表为例,获取所有教师年龄总和:

SELECT SUM(age) FROM teacher;

执行结果如下图:
在这里插入图片描述

Tips:如上图所示,SUM(age) 表示对结果集 age 列求总和 488。

4.MIN函数取最小值

以 teacher 表为例,先查所有 teacher 信息:

SELECT * FROM teacher;

查询结果如下图:
在这里插入图片描述

可以使用 MIN() 函数对结果集取年龄最小值的数据:

SELECT MIN(age) FROM teacher;

执行结果如下图:

在这里插入图片描述

Tips:如上图所示,MIN(age) 表示对结果集 age 列取最小值 29。

5…MAX函数取最大值

以 student 表为例,先查看所有 student 信息:

SELECT * FROM student;

查询结果如下图:
在这里插入图片描述

可以使用 MAX() 函数对结果集取年龄最大值的数据:

SELECT MAX(age) FROM student;

执行结果如下图:
在这里插入图片描述

Tips:如上图所示,MAX(age) 表示对结果集 age 列取最大值 23。

6.GROUP BY HAVING

以 student_course、course、student 表内连接查询为例:

SELECT * 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id;

查询结果如下图:
在这里插入图片描述

使用 AVG 函数取分组数据平均年龄:

SELECT a.course_id,c.course_name,AVG(age) 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id
GROUP BY a.course_id,c.course_name;

执行结果如下图 :

在这里插入图片描述

可以使用 HAVING 对上述结果筛选,例如选出选课学生平均年龄大于 20 的课程数据:

SELECT a.course_id,c.course_name,AVG(age) 
FROM 
student_course a 
INNER JOIN 
student b 
ON a.student_id=b.id 
INNER JOIN course c 
ON a.course_id=c.id
GROUP BY a.course_id,c.course_name
HAVING AVG(age) >= 20;

执行结果如下图:
在这里插入图片描述

Tips:如上图所示,演示的是使用 AVG() 函数对分组数据进行筛选,同理,可以分别使用 COUNT()、MIN()、MAX()、SUM() 这四种聚合函数取出分组的数据,并且都可以使用 HAVING 后面的条件对分组聚合函数的值进行筛选。

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

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

相关文章

Javascript 脚本查找B站限时免费番剧

目录 前言 脚本编写 脚本 前言 B站的一些番剧时不时会“限时免费”,白嫖党最爱,主打一个又占到便宜的快乐。但是在番剧索引里却没有搜索选项可以直接检索“限时免费”的番剧,只能自己一页一页的翻去查看,非常麻烦。 自己找限…

React 前端框架:全面介绍与代码实现

React 是一个由 Facebook 开发的开源 JavaScript 库,用于构建用户界面。作为目前最受欢迎的前端框架之一,React 为开发者提供了一个模块化的方式来构建复杂的用户界面。无论是构建简单的单页应用,还是大型的动态 Web 应用,React 都…

JavaSE——集合16:不可变集合

目录 一、不可变集合基本介绍 二、创建不可变的List集合 三、创建不可变的Set集合 四、创建不可变的Map集合 (一)最多10个键值对 (二) 键值对的数量超过10个 五、总结 一、不可变集合基本介绍 不可变集合:不可以被修改的集合。包括长度、内容等。 应用场景&…

【iOS】使用AFNetworking更方便实现网络请求

目录 前言 如何使用AFNetworing实现网络请求 使用单例 进行网络申请 结语 前言 OC中原生的网络请求流程非常麻烦,通常是以下流程: 创建NSURL对象确定请求地址。使用NSURL创建NSURLRequest对象,可设置请求方法、请求头等。创建NSURLSess…

如何修改MAC地址破解网络无线网络限制-担心别人蹭网,路由器设置MAC地址过滤,限定了能访问无线网络的网卡地址-供大家学习参考

路由器都设置了MAC地址过滤,也就是限定了能访问无线网络的网卡的MAC地址。因为无线路由器不一定由自己控制,所以当更换了笔记本或者更换了无线网卡的时候,也许就上不了网了。我们可以修改网卡的MAC地址实现上网。 下载:https://do…

各种查询sql介绍

1. 关联查询(JOIN) 关联查询用于从多个表中检索数据。它基于两个或多个表之间的共同字段(通常是主键和外键)来组合数据。 内连接(INNER JOIN): sql SELECT a.name, b.order_date FROM custome…

计算机网络——CDN

空间编码例子:不是发送N个相同颜色值,而是仅发送2个值,颜色和重复个数 时间编码例子:不是发送i1帧的全部编码,而是仅发送帧i差别的地方 视频播放时,先下载manifest file文件——>解析(不…

机器学习与神经网络:科技的星辰大海

前提 近日,2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者,这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家,如今却将全球范围内对机器学习和神经网络的研究和开发作为了一…

Python库numpy之五

Python库numpy之五 数据类型数组类型和类型之间的转换数值数据类型字符串和字节的数据类型 数据类型 数组类型和类型之间的转换 NumPy 比 Python 支持更多种类的数值类型。 NumPy 数值类型是 numpy.dtype对象的实例,每个对象都具有独特的特征。可以使用 numpy 顶…

【Kuberntes】k8s权限管理

文章目录 权限管理概述核心概念配置RBAC创建Role和ClusterRole创建RoleBinding和ClusterRoleBinding 默认角色和角色绑定权限的实现注意事项 如何在 Kubernetes 中实现 RBAC 的细粒度权限控制?1. Role和ClusterRole2. RoleBinding和ClusterRoleBinding3. 配置RBAC4.…

gaussdb 基础管理 数据库 表 用户 模式 权限 存储过程

数据库database #创建数据库,指定字符集UTF8,缺省情况下新数据库将通过复制标准系统数据库template0来创建,且仅支持使用template0来创建。 CREATE DATABASE devdb ENCODING UTF8 template template0; CREATE DATABASE testdb; 标识符的命名…

Faster R-CNN模型微调检测航拍图像中的小物体

1. 项目简介 本项目的目标是基于Faster R-CNN模型对航拍图像中的小物体进行检测和识别。航拍图像通常具有视角广、分辨率高、小目标密集且物体尺寸较小的特点,因此检测难度较大。传统的目标检测模型在处理小物体时,容易受到物体尺寸、分辨率及背景复杂度…

HTML DOM 简介

HTML DOM 简介 1. 什么是HTML DOM? HTML DOM(文档对象模型)是一种用于HTML的应用程序编程接口(API)。它定义了访问和操作HTML文档的标准方法,将HTML文档表示为树结构,其中每个节点都是文档中的一个对象。通过DOM,开发者可以轻松地添加、删除和修改页面上的元素和内容…

CMake与Qt4/Qt5的结合使用指南

CMake与Qt4/Qt5的结合使用指南 一、同时使用Qt 4和Qt 5二、Qt构建工具2.1 AUTOMOC2.2 AUTOUIC2.3 AUTORCC 三、<ORIGIN>_autogen目标四、Visual Studio生成器五、Windows上的qtmain.lib六、其他文章推荐 在CMake中&#xff0c;您可以方便地找到并使用Qt 4和Qt 5库。Qt 4库…

大数据查询引擎之Tez

Apache Tez 是一个用于大数据处理的分布式计算框架&#xff0c;旨在提高 Hadoop 的 MapReduce 计算引擎的效率和性能。它是一个面向 DAG&#xff08;有向无环图&#xff09;任务执行的框架&#xff0c;主要用于大规模数据处理场景中&#xff0c;特别是在 Apache Hadoop 生态系统…

elementUI,设置日期,只能选择过去的和今天的日期

在 el-date-picker 组件中加&#xff1a;:picker-options"pickerOptions" <el-form-item label"票据生成日期&#xff1a;"> <el-date-picker v-model"date1" type"daterange" range-separator"至" value-format&…

Java中的函数式接口

在Java 8及以后的版本中&#xff0c;函数式编程成为了一个重要的特性。函数式接口是实现函数式编程的基础&#xff0c;它们允许你以声明式的方式处理数据集合&#xff0c;简化代码&#xff0c;提高代码的可读性和可维护性。本文将深入探讨Java中的函数式接口&#xff0c;包括它…

大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

轻量级可视化数据分析报表,分组汇总表!

什么是可视化分组汇总表&#xff1f; 可视化分组汇总表&#xff0c;是一种结合了数据分组、聚合计算与视觉呈现功能的数据分析展示功能。它能够按照指定的维度&#xff08;如时间、地区、产品类型等&#xff09;对数据进行分组&#xff0c;还能自动计算各组的统计指标&#xf…

【力扣 | SQL题 | 每日4题】力扣1164,3293,1308,1270

4 mid&#xff0c;四题都比较简单&#xff0c;没什么难度。 1. 力扣1164&#xff1a;指定日期的产品价格 1.1 题目&#xff1a; 产品数据表: Products ------------------------ | Column Name | Type | ------------------------ | product_id | int | | new_p…