Java学习-MySQL-MySQL函数-聚合函数和分组过滤
函数名称 | 描述 |
---|---|
conut() | 计数 |
sum() | 求和 |
avg() | 平均值 |
max() | 最大值 |
min() | 最小值 |
… | … |
聚合函数
SELECT * FROM student
SELECT COUNT(`address`)FROM `student` -- → 19
SELECT COUNT(*)FROM `student` -- → 21
SELECT COUNT(1)FROM `student` -- → 21
select()中字段名、*和1的区别
字段名:忽略所有null值
*和1:不会忽略null值,本质是计算行数
分组和过滤
查询所有考试的平均分、最高分、最低分
SELECT AVG(`studentresult`)AS 平均分,
MAX(`studentresult`)AS 最高分,
MIN(`studentresult`)AS 最低分
FROM result
查询各科平均分、最高分、最低分
SELECT `subjectname`,
AVG(`studentresult`)AS 平均分,
MAX(`studentresult`)AS 最高分,
MIN(`studentresult`)AS 最低分
FROM `result` r
INNER JOIN `subject` s
WHERE r.`subjectno`=s.`subjectno`
GROUP BY r.`subjectno`
查询各科平均分、最高分、最低分,过滤出平均分大于80分的学科
SELECT `subjectname`,
AVG(`studentresult`)AS 平均分,
MAX(`studentresult`)AS 最高分,
MIN(`studentresult`)AS 最低分
FROM `result` r
INNER JOIN `subject` s
WHERE r.`subjectno`=s.`subjectno`
GROUP BY r.`subjectno`
HAVING 平均分>80