-- 聚合函数
-- count() 查询有多少条记录
-- count(字段) 会忽略所有的null值
SELECT COUNT(phone) FROM student;
-- count() 不会忽略null值,本质计算行数
SELECT COUNT(*) FROM student;
-- count(1) 不会忽略所有的null值,本质计算行数
SELECT COUNT(1) FROM student;
SELECT SUM(studentresult) FROM result; -- 总和
SELECT AVG(studentresult) FROM result; -- 平均分
SELECT MAX(studentresult) FROM result; -- 最高分
SELECT MIN(studentresult) FROM result; -- 最低分
-- 分组和过滤
-- 查询不同课程的平均分,最高分和最低分,平均分大于80
-- 核心:根据不同的课程分组
SELECT subjectname,AVG(studentresult) AS 平均分,MAX(studentresult) AS 最高分,MIN(studentresult) AS 最低分
FROM result r
INNER JOIN `subject` sub
ON r.subjectno = sub.subjectno
GROUP BY r.subjectno -- 通过什么字段来分组
HAVING 平均分 > 80;
评论 (0)