【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(\*)返回结果4、count(字段名)返回结果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就是返回最小值

                  🔻简单举个例子:

                  查找本班总分第一人:

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