文章目录
一、聚合函数
MySQL中的聚合函数用于对数据进行计算和统计,常见的聚合函数包括下面列举出来的聚合函数:
函数 说明
COUNT([DISTINCT] expr) 返回查询到的数据的数量
SUM([DISTINCT] expr) 返回查询到的数据的总和,不是数字没有意义
AVG([DISTINCT] expr) 返回查询到的数据的平均值,不是数字没有意义
MAX([DISTINCT] expr) 返回查询到的数据的最大值,不是数字没有意义
MIN([DISTINCT] expr) 返回查询到的数据的最小值,不是数字没有意义
1.1 count 返回查询到的数据的数量
- 查看班级有多少同学
mysql> select * from exam_result;
+----+-----------+---------+------+---------+
| id | name | chinese | math | english |
+----+-----------+---------+------+---------+
| 1 | 张三 | 134 | 98 | 56 |
| 2 | 李四 | 120 | 80 | 77 |
| 4 | 赵六 | 164 | 84 | 67 |
| 5 | 田七 | 110 | 115 | 45 |
| 6 | 孙八 | 140 | 84 | 78 |
| 8 | 张翼德 | 90 | 128 | 66 |
+----+-----------+---------+------+---------+
6 rows in set (0.00 sec)
mysql> select count(*) 总数 from exam_result;
+--------+
| 总数 |
+--------+
| 6 |
+--------+
1 row in set (0.00 sec)
mysql> select count(1) 总数 from exam_result;
+--------+
| 总数 |
+--------+
| 6 |
+--------+
1 row in set (0.00 sec)
- 统计数学成绩有多少个
# 统计全部
mysql> select count(math) from exam_result;
+-------------+
| count(math) |
+-------------+
| 6 |
+-------------+
1 row in set (0.00 sec)
# 统计有效的(去重)
mysql> select count(distinct math) as res from exam_result;
+-----+
| res |
+-----+
| 5 |
+-----+
1 row in set (0.00 sec)
- 统计英语不及格的人数
mysql> select count(*) from exam_result where english<60;
+----------+
| count(*) |
+----------+
| 2 |
+----------+
1 row in set (0.00 sec)
1.2 sum 返回查询到的数据的总和
- 查看数学成绩的总和
mysql> select sum(math) from exam_result;
+-----------+