【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

【MySQL系列】统计函数(count,sum,avg)详解_第1张图片

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

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

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

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

你可能感兴趣的:(数据库,mysql,android,数据库)