DQL-聚合函数&分组和过滤-2022-12-1

函数  
count()  
avg()  
sum()  
max(0  
min  

SELECT COUNT(`studentname`) FROM student; -- 会忽略NULL值
SELECT COUNT(*) FROM student; -- 不会忽略NULL值 本质计算行数 (所有列)
SELECT COUNT(1) FROM student; -- 不会忽略NULL值 本质计算行数

SELECT SUM(`studentresult`) AS 总分 FROM result
SELECT AVG(`studentresult`) AS 平均分 FROM result
SELECT MAX(`studentresult`) AS 最高分 FROM result
SELECT MIN(`studentresult`) AS 最低分 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

posted @ 2022-12-01 11:48  Rui2022  阅读(17)  评论(0编辑  收藏  举报