mysql函数

聚合函数

函数名称 描述
conut 计数
sum 求和
avg 平均值
max 最大值
min 最小值
  1. 考题
select count(name) from students; -- count(字段),会忽略所有的null值
select count(*) from students; -- count(*),不会忽略null值,这个是由mysql自己在全字段查找最优列计数
select count(1) from students; -- count(1),不会忽略null值,但是执行效率要高于count(*),因为只是计算那一列的

分组和过滤

  1. 使用了聚合函数后,后面不能使用where过滤,应该使用having过滤
-- 查询不同课程的平均分,最高分,最低分,平均分大于80
-- 核心:根据不同的课程分组
select `name`,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
-- group by是分组查询
posted @ 2022-03-02 21:45  影梦无痕  阅读(25)  评论(0)    收藏  举报