Sql聚集函数
几种常用的聚集函数
Max 求最大
Min 求最小
Sum 求总和
Avg 求平均
Count 计算总行数
使用聚集函数得出的值只能用having来限制条件
例子如下
查询选课门数超过2门的学生的平均成绩和选课门数。
select name, count(classid) as lessonNum,avg(score1) as avgG
from student, stdwork
where student.stdid = stdwork.stdid
group by name
having count(classid)>2
having和where的区别
having子句在聚合后对组记录进行筛选
where子句在聚合前先筛选记录,作用在group by子句和having子句前
having只能用在group by之后,对分组后的结果进行筛选(即使having的前提条件是分组)。
where肯定在group by 之前,即也在having之前。
where后的条件表达式里不允许使用聚合函数(count(),sum(),avg(),max(),min()),而having可以。