各自努力,最高处见!加油!
一、count函数
返回行的总数。
格式
Select count(*)|count(列名) from table_name [WHERE 查找的范围]
示例
1.统计一个班级共有多少学生?
SELECT COUNT(*) FROM student;
2.统计数学成绩大于90的学生有多少个?
SELECT COUNT(*) FROM student
WHERE math > 90
3.统计总分大于250的人数有多少?
SELECT COUNT(*) FROM student
WHERE (math + english + chinese) > 250
4.count(*) 和 count(列) 的区别
解释 :count(*) 返回满足条件的记录的行数
count(列): 统计满足条件的某列有多少个,但是会排除 为null的情况
CREATE TABLE t15 (
`name` VARCHAR(20));
INSERT INTO t15 VALUES('tom');
INSERT INTO t15 VALUES('jack');
INSERT INTO t15 VALUES('mary');
INSERT INTO t15 VALUES(NULL);
SELECT * FROM t15;
二、sum函数
格式
Select sum(列名){列名1,列名2,...}from 列名 [WHERE 列的位置]
示例
1.统计一个班级数学总成绩?
SELECT SUM(math) FROM student;
2.统计一个班级语文、英语、数学各科的总成绩
SELECT SUM(math) AS math_total_score,SUM(english),SUM(chinese) FROM student;
3.统计一个班级语文、英语、数学的成绩总和
SELECT SUM(math + english + chinese) FROM student;
4.统计一个班级语文成绩平均分
SELECT SUM(chinese)/ COUNT(*) FROM student;
5.对非数字的列求和没有意义
SELECT SUM(`name`) FROM student;(×)
三、avg函数
格式
Select avg(列名) {列名1,列名2,...} from 表名 [Where 定位的范围]
示例
1.求一个班级数学平均分?
SELECT AVG(math) FROM student;
2.求一个班级总分平均分
SELECT AVG(math + english + chinese) FROM student;
四、Max/Min函数
返回满足where条件一列的最大/最小值
格式
Select max(列名) from 表名 [WHERE 定位的范围]
示例
1.求班级最高分和最低分(数值范围在统计中特别有用)
SELECT MAX(math + english + chinese), MIN(math + english + chinese)
FROM student;
2.求出班级数学最高分和最低分
SELECT MAX(math) AS math_high_socre, MIN(math) AS math_low_socre
FROM student;