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

在这里插入图片描述

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

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

🌈一、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就是返回最小值

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

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

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

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿然成长日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值