【MySQL系列】统计函数(count,sum,avg)详解

在这里插入图片描述

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤
📃个人主页 :阿然成长日记 👈点击可跳转
📆 个人专栏: 🔹数据结构与算法🔹C语言进阶
🚩 不能则学,不知则问,耻于问人,决无长进
🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍

前言:前面已经学习了查询的基础操作,接下来学习一些SQL函数。
学习子查询之后,将对这些函数进行更复杂更高级的使用,现在只是进行初步了解各个函数的作用。

文章目录

  • 🌈一、COUNT函数
    • 创建一个表T1
    • 1.COUNT函数的定义:
    • 2.COUNT函数的使用方式:
      • 1️⃣count(*)
        • (1)count(*)定义:
        • (2)具体使用:
        • (3)
      • 2️⃣count(字段名)
        • (1)count(字段名)定义:
        • (2)count(字段名)的使用:
    • 3.count(*)、count(字段名)、count(1)三者的比较
  • 📈二、SUM函数:
    • SUM定义:
    • SUM的语法:
    • SUM的使用:
  • 📜三、AVG语句
    • 1.AVG语句的定义:
    • 2.AVG 的语法:
    • 3.AVG 的使用:
  • 🚩四、 注意细节:
  • 💻五、求最值函数
    • 1.MAX,MIN

🌈一、COUNT函数

创建一个表T1

在这里插入图片描述

1.COUNT函数的定义:

返回SELECT语句检索的行数。 结果是一个bigint

2.COUNT函数的使用方式:

1️⃣count(*)

(1)count(*)定义:

返回所选列的行数。

(2)具体使用:

🔻统计学生中语文成绩在80分以上的人数;

执行语句:
在这里插入图片描述
查询结果:
在这里插入图片描述

🔻统计english这一列的行数

执行语句:
在这里插入图片描述
查询结果:
在这里插入图片描述

(3)

2️⃣count(字段名)

(1)count(字段名)定义:

返回SELECT语句检索的指定字段行数。 结果是一个bigint值。并且排除NULL

(2)count(字段名)的使用:

📍具体的使用基本一致,只有具体小细节不同。在这里就只举例有差异的例子。
🔻统计english这一列的行数

执行语句:
在这里插入图片描述
查询结果:
在这里插入图片描述

3.count(*)、count(字段名)、count(1)三者的比较

(1)count(*)和count(字段名):通过上面查询英语成绩行数,count(\*)返回结果4count(字段名)返回结果3可以看出CONUT(*)返回的是指定表的行数,只需找到表头,计算行数即可,不需要读取数据列的数据内容。
COUNT(列名),为了去除是NULL值的行,需要读取每一行的值。
同时得出:CONUT(*)比COUNT(列名)执行速度更快
(2)CONUT(*)与CONUT(1)它们之间是没有区别.

📈二、SUM函数:

SUM定义:

SUM函数是一个聚合函数,它返回所有或不同值的总和。需要注意的是,只能将SUM函数应用于数字列

SUM的语法:

SUM(【ALL|DISTINCT】 expression1);

参数:
🔸ALL:可写,SUM函数默认使用ALL运算符。

🔸DISTINCT :可写,指定SUM返回表达式中不同(唯一)值的和。

SUM的使用:

🔻例如:统计所有学生的语文成绩总和

执行语句:
在这里插入图片描述
执行结果:
在这里插入图片描述

🔻可以使用where子句
例如:计算数学成绩在80以上的总和
在这里插入图片描述

执行语句:
在这里插入图片描述
执行结果:
在这里插入图片描述

📜三、AVG语句

1.AVG语句的定义:

AVG函数是一个聚合函数,用于计算集合的平均值。

2.AVG 的语法:

AVG([ALL|DISTINCT] expression)

3.AVG 的使用:

🔻计算本班学生数学平均分

执行语句:
在这里插入图片描述
执行结果:
在这里插入图片描述

🔻计算王哈哈的平均成绩

执行语句:
在这里插入图片描述
执行结果:
在这里插入图片描述

🚩四、 注意细节:

使用聚合函数,计算时,默认使用ALL计算,
对于数据类型为INT、SMALLINT或TINYINT的表达式,SUM返回的数据类型为IntegerInteger是int的包装类
对于数据类型为bigint的表达式,SUM返回数据类型bigint
对于数据类型为
double
的表达式,SUM返回数据类型为double的表达式。
对于所有其他数字数据类型,SUM返回数据类型numeric

💻五、求最值函数

1.MAX,MIN

这两个函数的使用相对简单:
1.MAX就是返回最大值;
2.MIN就是返回最小值

🔻简单举个例子:
查找本班总分第一人:

在这里插入图片描述在这里插入图片描述

🚩 想要查询并显示的对应的名字,需要学习子查询之后才能实现。所以加快进度,冲冲冲!!!:

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

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

相关文章

【面向大一新生IT技术社群招新啦,不来瞅瞅?】

个人名片: 🐼作者简介:一名大三在校生 🐻‍❄️个人主页:落798. 🐼个人WeChat:落798. 🕊️系列专栏:【零基础学java】 ----- 【重识c语言】 ---- 【计算机网络】—【Spri…

接口测试时遇到接口加密了该如何处理?

对明文编码生成信息摘要,以防止被篡改。比如MD5使用的是Hash算法,无论多长的输入,MD5都会输出长度为128bits的一个串。摘要算法不要秘钥,客户端和服务端采用相同的摘要算法即可针对同一段明文获取一致的密文。 对称加密 对称加密…

设计模式之工厂模式(万字长文)

文章目录 概述工厂模式的优点包括工厂模式有几种主要的变体看一个具体需求使用传统的方式来完成传统的方式的优缺点 简单工厂模式基本介绍使用简单工厂模式简单工厂模式的优缺点优点:缺点: 工厂方法模式看一个新的需求思路 1思路 2工厂方法模式介绍工厂方…

macOS上编译obs-studio

前言 最近基于obs的1个二开程序,需要移植到macOS平台上,由于遇到些问题,本文记录下如何在macOS上配置&编译&运行obs程序完整过程。 下载 首先下载cmake-gui工具,下载CMAKE,选择对应macOS平台的cmake版本&…

【ArcGIS微课1000例】0074:ArcGIS热点分析(Getis-Ord Gi*)---犯罪率热点图

严重声明:本文来自专栏《ArcGIS微课1000例:从点滴到精通》,为CSDN博客专家刘一哥GIS原创,原文及专栏地址为:(https://blog.csdn.net/lucky51222/category_11121281.html),谢绝转载或爬取!!! 文章目录 一、热点分析工具介绍二、ArcGIS热点分析案例1. 普通热点分析2. 加…

【ArcGIS微课1000例】0072:如何生成空间权重矩阵

严重声明:本文来自专栏《ArcGIS微课1000例:从点滴到精通》,为CSDN博客专家刘一哥GIS原创,原文及专栏地址为:(https://blog.csdn.net/lucky51222/category_11121281.html),谢绝转载或爬取!!! 文章目录 一、空间权重矩阵工具介绍二、ArcGIS生成空间权重矩阵三、注意事项…

从零开始配置Jenkins与GitLab集成:一步步实现持续集成

在软件开发中,持续集成是确保高效协作和可靠交付的核心实践。以下是在CentOS上安装配置Jenkins与GitLab集成的详细步骤: 1.安装JDK 解压JDK安装包并设置环境变量: JDK下载网址 Java Downloads | Oracle 台灣 tar zxvf jdk-11.0.5_linux-x64_b…

设计模式三原则

1.1单一职责原则 C 面向对象三大特性之一的封装指的就是将单一事物抽象出来组合成一个类,所以我们在设计类的时候每个类中处理的是单一事物而不是某些事物的集合。 设计模式中所谓的单一职责原则,就是对一个类而言,应该仅有一个引起它变化的原…

怎么借助ChatGPT处理数据结构的问题

目录 使用ChatGPT进行数据格式化转换 代码示例 ChatGPT格式化数据提示语 代码示例 批量格式化数据提示语 代码示例 ChatGPT生成的格式化批处理代码 使用ChatGPT合并不同数据源的数据 合并数据提示语 自动合并数据提示语 ChatGPT生成的自动合并代码 结论 数据合并是…

RT-Thread内核学习

内核框架 内核是操作系统最基础也是最重要的部分,内核处于硬件层之上,内核部分包括内核库、实时内核实现。 内核库是为了保证内核能够独立运行的一套小型的类似C库的函数实现子集。这部分根据编译器不同自带C库的情况也会不同。 当使用GNU GCC编译器时&…

波奇学C++:stl的list模拟实现

list是双向带头链表。所以迭代器end()相当于哨兵卫的头。 list不支持和[]重载&#xff0c;原因在于list空间不是连续的&#xff0c;和[]的代价比较大。 访问第n个节点&#xff0c;只能用for循环&#xff0c;来实现 list<int> l; l.push_back(0); l.push_back(1); l.pu…

hive-列转行

转成 select customer_code,product_type from temp.temp_xx LATERAL VIEW explode(SPLIT(product_types,,)) table_tmp AS product_type where customer_code K100515182

C#开发WinForm之DataGridView开发

前言 DataGridView是开发Winform的一个列表展示&#xff0c;类似于表格。学会下面的基本特征用法&#xff0c;再辅以经验&#xff0c;基本功能开发没问题。 1.设置 DataGridView表格行首为序号索引, //设置 DataGridView表格行首为序号索引private void dataGridView1_RowPost…

python实现卡尔曼滤波代码详解

Kalman滤波算法的原理可以参考&#xff1a; 卡尔曼滤波理解 python中filterpy库中实现了各种滤波算法&#xff0c; 其中就包括了kalman滤波算法。 具体实现代码&#xff1a; https://github.com/rlabbe/filterpy/blob/master/filterpy/kalman/kalman_filter.py 本文针对该代码…

数据结构——布隆计算器

文章目录 1.什么是布隆过滤器&#xff1f;2.布隆过滤器的原理介绍3.布隆过滤器使用场景4.通过 Java 编程手动实现布隆过滤器5.利用Google开源的 Guava中自带的布隆过滤器6.Redis 中的布隆过滤器6.1介绍6.2使用Docker安装6.3常用命令一览6.4实际使用 1.什么是布隆过滤器&#xf…

骨传导耳机对大脑有影响吗?骨传导耳机有什么副作用

先上结论&#xff0c;骨传导耳机对大脑没有影响。骨传导耳机使用的是骨传导技术&#xff0c;声音是通过头骨骨头和颌骨给内耳传递的&#xff0c;而不是通过传统的空气传播。 简单来说&#xff0c;骨传导技术使用人类骨骼结构和声学原理来传递声音&#xff0c;这种现象我们也很常…

最新Burp Suite入门技术

Burp Suite的安装 Burp Suite是一款集成化的渗透测试工具&#xff0c;包含了很多功能&#xff0c;可以帮助我们高效地完成对Web应用程序的渗透测试和安全检测。 Burp Suite由Java语言编写&#xff0c;Java自身的跨平台性使我们能更方便地学习和使用这款软件。不像其他自动化测…

vue3 基础知识 (组件之间的通信 and vuex) 02

侬好哇 &#xff01;&#x1f60d; 文章目录 一、组件的通信 &#xff08;父传子&#xff09;二、非 Prop 的Attribute (属性&#xff09;三、组件的通信 &#xff08;子传父&#xff09;四、非父子组件的相互通信&#xff08;Provide/Inject&#xff09;五、非父子组件的相互通…

顺序表之初

欢迎来到我的&#xff1a;世界 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 线性表简介顺序表定义动态顺序表的初始化尾插头插Cheak 判断是否增容尾删&#xff1a;头删&#xff1a;打印在pos位置前插入x删除pos位置的值查…

Python学习笔记_实战篇(二)_django多条件筛选搜索

多条件搜索在很多网站上都有用到&#xff0c;比如京东&#xff0c;淘宝&#xff0c;51cto&#xff0c;等等好多购物教育网站上都有&#xff0c;当然网上也有很多开源的比楼主写的好的多了去了&#xff0c;仅供参考&#xff0c;哈哈 先来一张效果图吧&#xff0c;不然幻想不出来…