一、聚集函数
聚集函数是为了分析和报表生成。作用如下:
1️⃣:确定表中(特点值)的行数。
2️⃣:获得表中行组的和
3️⃣:找出表列的最大值、最小值、平均值
1、检索全表
输入:
SELECT *
FROM major;
输出:
2、AVG()函数:返回某列的平均值
可返回所有列的平均值,也可返回特定列或者特定行的平均值。
下列例子通过SELECT语句返回值avg_id,它包含了colloge_id表中所有数字的平均值。avg_id只是一个别名。
输入:
SELECT AVG(colloge_id) AS avg_id
FROM major;
输出:
下列例子通过AVG()函数返回major_id大于20的colloge_id的平均值。
输入:
SELECT AVG(colloge_id) AS avg_id
FROM major
WHERE major_id > 20;
输出:
只用于单个列
使用AVG函数列名必须作为函数参数给出。为了获得多个列的平均值,必须使用多个AVG()函数!
AVG()函数忽略列值为NULL的行。
输入:
SELECT AVG(colloge_id) AS avg_id, AVG(order_num) AS avg_num
FROM major;
输出:
3、COUNT()函数:确定表中行的数目||符合特定条件行的数目
COUNT()函数由两种使用方式:
1️⃣:使用COUNT(*)对表中行的数目进行计数(不管NOT NULL and NULL)。
2️⃣:使用COUNT(column)对特定列具有值进行计数(忽略NULL)。
下列例子计数major表的行数。
输入:
SELECT COUNT(*) AS count_colloge
FROM major;
输出:
4、MAX()函数:返回指定列中的最大值
1、max()要求指定列名!!
2、MAX()函数可用于文本数据,如果数据按照相应的列排序,则MAX()返回最后一行。
3、MAX()函数忽略列值为NULL的行。
下列例子要求输出colloge_id列的最大值。
输入:
SELECT MAX(colloge_id) AS max_colloge
FROM major;
输出:
5、MIN()函数:返回指定列中的最小值
1、MIN()要求指定列名!!
2、MIN()函数可用于文本数据,如果数据按照相应的列排序,则MAX()返回最前面一行。
3、MIN()函数忽略列值为NULL的行。
下列例子要求输出colloge_id列的最小值。
输入:
SELECT MIN(colloge_id) AS min_colloge
FROM major;
输出:
6、SUM()函数:用来返回指定列值的和(总计)
1
、MIN()函数忽略列值为NULL的行。
下列例子用来输出colloge_id列大于对于40的数据总数。
输入:
SELECT SUM(colloge_id) AS sum_colloge
FROM major
WHERE colloge_id >= 40;
输出:
二、组合聚集函数(涉及业务可能会用到)
下列例子返回major表的行数、colloge_id的最小值、colloge_id的最大值、以及colloge_id的平均值。
输入:
SELECT COUNT(*) AS num_id,
MIN(colloge_id) AS min_colloge,
MAX(colloge_id) AS max_colloge,
AVG(colloge_id) AS avg_colloge
FROM major;